home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-04-22 | 297.3 KB | 8,181 lines |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ===================================================================
-
-
-
- <*> Computer Tyme MarxMenu <*>
-
- Reference Manual
-
- Copyright 1989 - 1991 by Marc Perkel
-
- All Rights Reserved * Version 2.27 * Release Date: 04-22-91
-
- Computer Tyme * 411 North Sherman Suite 300 * Springfield Mo. 65802
-
- (417) 866-1222 voice * (417) 866-1665 bbs
-
- Fax: (417) 866-0135
- CompuServe 76505,1120
-
-
-
- ===================================================================
-
-
-
- Computer Tyme MarxMenu * Table of Contents Page 1
- _______________________________________________________________
-
-
-
- Copyright ......................................... 1
- License ........................................... 1
- Warranty .......................................... 1
- Acknowledgments ................................... 2
- Trademarks ........................................ 2
- The MarxMenu Name ................................. 2
- Technical Support ................................. 3
- Overview of the MarxMenu System ................... 3
- -- What MarxMenu Does ............................. 5
- -- For the POWER User ............................. 6
- Installation ...................................... 7
- Installing the Network Survival Kit ............... 7
- The MARX.BAT File ................................. 8
- -- DROPTO.BAT ..................................... 10
- -- Support for early DOS versions ................. 11
- -- About Environment Variables .................... 12
- -- Dealing with Multiple DOS Shells ............... 13
- -- MarxMenu and TSR Control ....................... 14
- Network Users ..................................... 15
- -- Novell Users ................................... 15
- ---- The Novell Menu Translator ................... 16
- ---- Logging out under Menu Control ............... 16
- ---- Logging in with MarxMenu ..................... 17
- ------ The CONFIG.SYS File ........................ 18
- ------ The AUTOEXEC.BAT File ...................... 18
- ------ The SHELL.CFG File ......................... 20
- ------ Using a Menu File to Log In ................ 20
- ---- Novell Semaphores ............................ 21
- Running a MarxMenu ................................ 22
- Customizing MarxMenu Sample Files ................. 22
- Menu Analysis ..................................... 23
- Onkey Statements .................................. 24
- Popup Menus ....................................... 24
- The Console ....................................... 26
- Repositioning the Top Window ...................... 26
- Mouse Support ..................................... 27
- Starting off the Easy Way ......................... 27
- About Variables ................................... 27
- -- Dates .......................................... 29
- -- Real Numbers ................................... 29
- -- Local Variables ................................ 30
- -- Passing Parameters to Procedures ............... 30
- About Constants ................................... 32
- About Arrays ...................................... 32
- About Qualifiers .................................. 33
- Comments in Menu Files ............................ 34
- The MarxMenu Compiler ............................. 35
- Compiler Compatibility ............................ 35
- A word about DOS versions ......................... 36
- A word about BUGS ................................. 36
- Tips From the Master .............................. 37
-
-
-
- Computer Tyme MarxMenu * Table of Contents Page 2
- _______________________________________________________________
-
-
- -- Computers do Simple Tasks ...................... 37
- -- Complex Tasks are made of Simple Tasks ......... 38
- -- Learning Good Programming Habits ............... 38
- -- Use Long Names ................................. 39
- -- Use Comments Liberally ......................... 40
- -- Indent Your code ............................... 41
- -- For Duplicate Tasks, Use Procedures ............ 42
- -- Don't Program Yourself into a Corner ........... 42
- A word to Writers and Reviewers ................... 43
- Using MarxHelp .................................... 44
- Printing the Example Files ........................ 44
- Security Issues ................................... 44
- MarxMenu Commands ................................. 45
- -- | .............................................. 46
- -- ( .............................................. 46
- -- ) .............................................. 46
- -- * .............................................. 46
- -- + .............................................. 47
- -- - .............................................. 47
- -- / .............................................. 47
- -- < .............................................. 47
- -- <= ............................................. 47
- -- <> ............................................. 47
- -- = .............................................. 47
- -- > .............................................. 47
- -- >= ............................................. 47
- -- %MenuFileName .................................. 48
- -- Abs ............................................ 48
- -- Alias .......................................... 48
- -- And ............................................ 48
- -- ApplicationMemory .............................. 49
- -- Apr ............................................ 49
- -- ArcTan ......................................... 49
- -- Aug ............................................ 49
- -- BadDate ........................................ 49
- -- Bat ............................................ 49
- -- BatFileName .................................... 50
- -- BigShadow ...................................... 50
- -- Black .......................................... 50
- -- Blanked ........................................ 50
- -- BlankMessage ................................... 50
- -- BlankTime ...................................... 50
- -- Blink .......................................... 51
- -- BlockBox ....................................... 51
- -- Blue ........................................... 51
- -- BoxBorderColor ................................. 51
- -- BoxHeader ...................................... 52
- -- BoxHeaderColor ................................. 52
- -- BoxHeaderLeft .................................. 52
- -- BoxHeaderRight ................................. 52
- -- BoxFooter ...................................... 53
- -- BoxFooterLeft .................................. 53
-
-
-
- Computer Tyme MarxMenu * Table of Contents Page 3
- _______________________________________________________________
-
-
- -- BoxFooterRight ................................. 53
- -- BoxInsideColor ................................. 53
- -- Brown .......................................... 53
- -- BW40 ........................................... 54
- -- BW80 ........................................... 54
- -- CapsColor ...................................... 54
- -- CapsLock ....................................... 54
- -- Chain .......................................... 54
- -- Char ........................................... 55
- -- ChDir .......................................... 55
- -- CleanFileName .................................. 55
- -- ClearLine ...................................... 55
- -- ClearScreen .................................... 55
- -- ClearScreenFirst ............................... 56
- -- ClearScreenOnExit .............................. 56
- -- ClockColor ..................................... 56
- -- ClockMode ...................................... 56
- -- ClockPos ....................................... 57
- -- ClosePrinter ................................... 57
- -- ClusterSize .................................... 57
- -- CmdLine ........................................ 57
- -- CO40 ........................................... 58
- -- CO80 ........................................... 58
- -- ColorScreen .................................... 58
- -- Comment ........................................ 58
- -- Console ........................................ 58
- -- ConsoleBorderColor ............................. 59
- -- ConsoleHeaderColor ............................. 59
- -- ConsoleInsideColor ............................. 59
- -- ConsolePos ..................................... 59
- -- Const .......................................... 59
- -- Cos ............................................ 59
- -- CurrentEnvironment ............................. 60
- -- CurrentWindow .................................. 60
- -- Cursor ......................................... 60
- -- CustomBox ...................................... 60
- -- Cyan ........................................... 60
- -- DateString ..................................... 60
- -- Day ............................................ 60
- -- DayOf .......................................... 61
- -- DayOfWeek ...................................... 61
- -- DayOfWeekOf .................................... 61
- -- Dec ............................................ 61
- -- Delete ......................................... 62
- -- DelFile ........................................ 62
- -- Dispose ........................................ 63
- -- DosVersion ..................................... 63
- -- DosVersionString ............................... 63
- -- DosWindow ...................................... 63
- -- DoubleLineBox .................................. 64
- -- DrawBox ........................................ 64
- -- Drives ......................................... 64
-
-
-
- Computer Tyme MarxMenu * Table of Contents Page 4
- _______________________________________________________________
-
-
- -- DvAppNumber .................................... 64
- -- DvFrame ........................................ 64
- -- DvFreeze ....................................... 65
- -- DvHide ......................................... 65
- -- DvKillTask ..................................... 65
- -- DvLastHandle ................................... 65
- -- DvLoaded ....................................... 65
- -- DvMoveWindow ................................... 65
- -- DvMyHandle ..................................... 65
- -- DvPifExecute ................................... 66
- -- DvResizeWindow ................................. 66
- -- DvSetBottom .................................... 66
- -- DvSetTop ....................................... 66
- -- DvUnFreeze ..................................... 67
- -- DvUnHide ....................................... 67
- -- Else ........................................... 67
- -- EndComment ..................................... 67
- -- Endif .......................................... 67
- -- EndLoop ........................................ 67
- -- EndOfFile ...................................... 68
- -- EndProc ........................................ 68
- -- EndWhile ....................................... 68
- -- EnvFree ........................................ 68
- -- EnvSize ........................................ 68
- -- EraseTopWindow ................................. 68
- -- EraseWindow .................................... 69
- -- Execute ........................................ 69
- -- ExistDir ....................................... 70
- -- ExistFile ...................................... 70
- -- ExistOnPath .................................... 70
- -- ExitCode ....................................... 70
- -- ExitMenu ....................................... 70
- -- Exp ............................................ 71
- -- Explode ........................................ 71
- -- ExplodeDelay ................................... 71
- -- Extension ...................................... 71
- -- False .......................................... 71
- -- Feb ............................................ 71
- -- FileAppend ..................................... 71
- -- FileAssign ..................................... 72
- -- FileAttr ....................................... 72
- -- FileClose ...................................... 72
- -- FileCreate ..................................... 72
- -- FileDate ....................................... 72
- -- FileFlush ...................................... 72
- -- FileLog ........................................ 72
- -- FileOpen ....................................... 73
- -- FilePart ....................................... 73
- -- FilePos ........................................ 73
- -- FileReadln ..................................... 73
- -- FileRename ..................................... 73
- -- FileResult ..................................... 74
-
-
-
- Computer Tyme MarxMenu * Table of Contents Page 5
- _______________________________________________________________
-
-
- -- FileSeek ....................................... 74
- -- FileSize ....................................... 74
- -- FileWrite ...................................... 74
- -- FileWriteln .................................... 74
- -- FixPath ........................................ 74
- -- Floppies ....................................... 74
- -- ForceExplosion ................................. 74
- -- ForceExtension ................................. 75
- -- Fraction ....................................... 75
- -- FreeDiskSpace .................................. 75
- -- FreeEms ........................................ 75
- -- FreeMemory ..................................... 75
- -- Fri ............................................ 75
- -- GotoXY ......................................... 75
- -- Green .......................................... 76
- -- Grey ........................................... 76
- -- Hour ........................................... 76
- -- HourOf ......................................... 76
- -- Hundredth ...................................... 76
- -- IdelProgram .................................... 76
- -- If ............................................. 77
- -- InactiveBox .................................... 78
- -- InactiveBoxColor ............................... 78
- -- Include ........................................ 78
- -- InputString .................................... 79
- -- Insert ......................................... 79
- -- InsertMode ..................................... 79
- -- Int ............................................ 79
- -- Integer ........................................ 79
- -- InverseColor ................................... 80
- -- Jan ............................................ 80
- -- Jul ............................................ 80
- -- Jun ............................................ 80
- -- Jump ........................................... 80
- -- KbdReady ....................................... 80
- -- KeySave ........................................ 80
- -- KeyFromMouse ................................... 80
- -- KillMusic ...................................... 81
- -- LastKey ........................................ 81
- -- LBlue .......................................... 81
- -- LCyan .......................................... 81
- -- Left ........................................... 81
- -- Length ......................................... 81
- -- LGreen ......................................... 81
- -- LGrey .......................................... 82
- -- LMag ........................................... 82
- -- LMagenta ....................................... 82
- -- Ln ............................................. 82
- -- Loc ............................................ 82
- -- LockWord ....................................... 82
- -- Logoff ......................................... 82
- -- LogoffTime ..................................... 83
-
-
-
- Computer Tyme MarxMenu * Table of Contents Page 6
- _______________________________________________________________
-
-
- -- Loop ........................................... 83
- -- LoopIndex ...................................... 84
- -- LoopLimit ...................................... 84
- -- LRed ........................................... 84
- -- MachineName .................................... 84
- -- Mag ............................................ 84
- -- Magenta ........................................ 84
- -- Mar ............................................ 84
- -- MarxVersion .................................... 85
- -- MasterEnvironment .............................. 85
- -- Max ............................................ 85
- -- May ............................................ 85
- -- Mem ............................................ 85
- -- MemL ........................................... 85
- -- MemSize ........................................ 85
- -- MemW ........................................... 86
- -- MenuKeyBuffer .................................. 86
- -- Mid ............................................ 86
- -- Min ............................................ 86
- -- MinorDosVersion ................................ 86
- -- Minute ......................................... 86
- -- MinuteOf ....................................... 87
- -- Mod ............................................ 87
- -- ModifyPath ..................................... 87
- -- Mon ............................................ 87
- -- Mono ........................................... 87
- -- Month .......................................... 87
- -- MonthOf ........................................ 87
- -- Mouse .......................................... 88
- -- MouseHorizontal ................................ 88
- -- MouseVertical .................................. 88
- -- MoveWindow ..................................... 88
- -- MxCmd .......................................... 89
- -- NamePart ....................................... 89
- -- NetworkVersion ................................. 89
- -- NextWord ....................................... 89
- -- No ............................................. 89
- -- NoBoxBorder .................................... 90
- -- NoExit ......................................... 90
- -- Not ............................................ 90
- -- NotesLeft ...................................... 90
- -- NotesPlayed .................................... 90
- -- Nov ............................................ 90
- -- NovAccountExpDate .............................. 90
- -- NovAttach ...................................... 91
- -- NovChangePassword .............................. 91
- -- NovCloseSemaphore .............................. 91
- -- NovConnection .................................. 91
- -- NovConsoleOperator ............................. 91
- -- NovDefaultServer ............................... 91
- -- NovDetach ...................................... 91
- -- NovGroupMembers ................................ 91
-
-
-
- Computer Tyme MarxMenu * Table of Contents Page 7
- _______________________________________________________________
-
-
- -- NovGroups ...................................... 92
- -- NovInGroup ..................................... 92
- -- NovLogin ....................................... 92
- -- NovLoginName ................................... 92
- -- NovLogout ...................................... 92
- -- NovMapDrive .................................... 93
- -- NovMyLoginName ................................. 93
- -- NovMyPassword .................................. 93
- -- NovOpenSemaphore ............................... 93
- -- NovPasswordExpDate ............................. 93
- -- NovPreferredServer ............................. 93
- -- NovPrimaryServer ............................... 93
- -- NovPrintQueues ................................. 94
- -- NovReadGroups .................................. 94
- -- NovReadSecurityEquals .......................... 94
- -- NovResult ...................................... 94
- -- NovSemaphoreTimeOut ............................ 94
- -- NovSemaphoreUsers .............................. 94
- -- NovSemaphoreValue .............................. 94
- -- NovServers ..................................... 94
- -- NovScanProperties .............................. 95
- -- NovSetPreferredServer .......................... 95
- -- NovSetPrimaryServer ............................ 95
- -- NovSignalSemaphore ............................. 95
- -- NovStationAddress .............................. 96
- -- NovUserInGroup ................................. 96
- -- NovUsers ....................................... 96
- -- NovUsersLoggedIn ............................... 96
- -- NovWaitOnSemaphore ............................. 96
- -- NumberOfElements ............................... 96
- -- Now ............................................ 97
- -- NumLock ........................................ 97
- -- Oct ............................................ 97
- -- Off ............................................ 97
- -- On ............................................. 97
- -- OnKey .......................................... 98
- -- OnScreenOnly ................................... 98
- -- OpenPrinter .................................... 99
- -- OptionSwitch ................................... 99
- -- Or ............................................. 99
- -- Ord ............................................ 99
- -- OverKey ........................................ 99
- -- Overlay ........................................ 100
- -- ParallelPorts .................................. 100
- -- ParamStr ....................................... 100
- -- ParentEnvironment .............................. 100
- -- Password ....................................... 101
- -- Path ........................................... 101
- -- PathPart ....................................... 101
- -- PauseAfterExecute .............................. 101
- -- Pi ............................................. 101
- -- PickFile ....................................... 102
-
-
-
- Computer Tyme MarxMenu * Table of Contents Page 8
- _______________________________________________________________
-
-
- -- PickMany ....................................... 102
- -- PickOne ........................................ 102
- -- PickPosition ................................... 103
- -- Port ........................................... 103
- -- Pos ............................................ 103
- -- Power .......................................... 103
- -- Pred ........................................... 103
- -- Print .......................................... 103
- -- PrinterName .................................... 103
- -- Println ........................................ 104
- -- PrintScreen .................................... 104
- -- Procedure ...................................... 104
- -- PullMenu ....................................... 104
- -- Qualifier ...................................... 104
- -- Random ......................................... 105
- -- ReadEnv ........................................ 105
- -- ReadEnvironment ................................ 105
- -- ReadKey ........................................ 106
- -- Readln ......................................... 106
- -- ReadTextFile ................................... 106
- -- Real ........................................... 107
- -- Reboot ......................................... 107
- -- Red ............................................ 107
- -- ReleaseDate .................................... 107
- -- Repeat ......................................... 107
- -- ResizeWindow ................................... 108
- -- Return ......................................... 108
- -- ReturnCode ..................................... 108
- -- Right .......................................... 108
- -- RollWindow ..................................... 109
- -- Run ............................................ 109
- -- Sat ............................................ 110
- -- SavePosition ................................... 110
- -- ScreenHeight ................................... 110
- -- ScreenWidth .................................... 110
- -- ScrollLock ..................................... 110
- -- ScrollMove ..................................... 111
- -- Second ......................................... 111
- -- SecondOf ....................................... 111
- -- SecondInDay .................................... 111
- -- SecondInHour ................................... 111
- -- Security ....................................... 111
- -- SelectPath ..................................... 111
- -- Sep ............................................ 112
- -- SerialPorts .................................... 112
- -- SetArraySize ................................... 112
- -- SetEnv ......................................... 112
- -- SetTopWindow ................................... 113
- -- SetWindowUnder ................................. 113
- -- Shadow ......................................... 113
- -- ShadowColor .................................... 113
- -- ShadowPosition ................................. 113
-
-
-
- Computer Tyme MarxMenu * Table of Contents Page 9
- _______________________________________________________________
-
-
- -- Shared ......................................... 114
- -- ShellEnvironment ............................... 114
- -- Shl ............................................ 114
- -- Shr ............................................ 114
- -- Sin ............................................ 114
- -- SingleLineBox .................................. 114
- -- SmallShadow .................................... 115
- -- SortArray ...................................... 115
- -- Sound .......................................... 115
- -- Sqr ............................................ 115
- -- StandardIO ..................................... 115
- -- Str ............................................ 115
- -- StuffAKey ...................................... 116
- -- StuffKBD ....................................... 116
- -- StuffKeyboardNow ............................... 116
- -- Succ ........................................... 116
- -- Suggest ........................................ 116
- -- Sun ............................................ 116
- -- TextBackground ................................. 116
- -- TextColor ...................................... 117
- -- TextMode ....................................... 117
- -- TextPos ........................................ 117
- -- TextSeek ....................................... 117
- -- Then ........................................... 117
- -- Thu ............................................ 117
- -- TimeOf ......................................... 118
- -- Timer .......................................... 118
- -- TimeString ..................................... 118
- -- Today .......................................... 118
- -- Tone ........................................... 118
- -- TotalDiskSpace ................................. 119
- -- TotalEms ....................................... 119
- -- Trim ........................................... 119
- -- True ........................................... 119
- -- Tue ............................................ 119
- -- UniqueFileName ................................. 119
- -- Until .......................................... 119
- -- UpperCase ...................................... 119
- -- UpperCaseOnly .................................. 120
- -- UseArrows ...................................... 120
- -- UseCommand ..................................... 120
- -- UsedDiskSpace .................................. 121
- -- UseNovPassword ................................. 121
- -- Value .......................................... 121
- -- Var ............................................ 121
- -- VideoMode ...................................... 121
- -- VideoPage ...................................... 121
- -- ViewArray ...................................... 122
- -- ViewTextFile ................................... 122
- -- Volume ......................................... 122
- -- Wait ........................................... 122
- -- WaitOrKbdReady ................................. 122
-
-
-
- Computer Tyme MarxMenu * Table of Contents Page 10
- _______________________________________________________________
-
-
- -- Wed ............................................ 122
- -- WhereX ......................................... 122
- -- WhereXAbs ...................................... 123
- -- WhereY ......................................... 123
- -- WhereYAbs ...................................... 123
- -- While .......................................... 123
- -- White .......................................... 123
- -- WindowHeight ................................... 123
- -- WindowWidth .................................... 123
- -- Write .......................................... 123
- -- WriteCenter .................................... 124
- -- Writeln ........................................ 124
- -- WriteTextFile .................................. 124
- -- WriteVertical .................................. 124
- -- Xor ............................................ 124
- -- Year ........................................... 124
- -- YearOf ......................................... 125
- -- Yellow ......................................... 125
- -- Yes ............................................ 125
- String and Character Constants .................... 125
- Conditional Statements ............................ 127
- Environment Variables used by MarxMenu ............ 128
- Command Categories ................................ 129
- -- Misc Commands .................................. 129
- -- Math Commands .................................. 129
- -- Float Commands ................................. 130
- -- String Commands ................................ 131
- -- Boolean Commands ............................... 132
- -- Memory Commands ................................ 132
- -- Time Commands .................................. 133
- -- Execution Commands ............................. 134
- -- Display Commands ............................... 134
- -- Color Commands ................................. 136
- -- Video Commands ................................. 136
- -- System Commands ................................ 137
- -- File Commands .................................. 137
- -- Printer Commands ............................... 138
- -- Environment Commands ........................... 138
- -- Array Commands ................................. 138
- -- DesqView Commands .............................. 139
- -- Conditional Commands ........................... 139
- -- Keyboard Commands .............................. 139
- -- MouseControl Commands .......................... 140
- -- Music Commands ................................. 140
- -- Novell Commands ................................ 140
- -- Variable Commands .............................. 141
-
-
-
- Computer Tyme MarxMenu Users Manual Page 1
- _______________________________________________________________
-
-
- COPYRIGHT
- COPYRIGHT
- COPYRIGHT
-
- This manual is copyrighted material and all rights are reserved.
- MarxMenu is a programming language which describes to the computer what
- it is supposed to do. Even though some of the individual words in
- MarxMenu are used in other programming languages, I claim a copyright on
- the collection of words which make up the MarxMenu language. I therefore
- consider it an infringement of my CopyRight to create a software product
- which uses the MarxMenu language, or translates MarxMenu source code,
- without purchasing a license to do so.
-
- The combinations of definitions of commands in this manual constitute a
- copyrighted work. Any publication which describes a computer language
- for which the MarxMenu command set is a subset is a violation of the
- copyright of this software and this written manual.
-
- In other words, don't try to clone MarxMenu.
-
- LICENSE AGREEMENT:
- LICENSE AGREEMENT:
- LICENSE AGREEMENT:
-
- You are licensed to use this program on a single CPU or workstation. If
- you are running on a network, you are required to license a separate
- copy for each workstation or a file server license for each file server.
- If you are running on a multiuser operating system such as Concurrent
- DOS, you are required to license a copy for each workstation. Everyone
- who uses this menu, must license a copy unless several people share the
- same workstation.
-
- This software is licensed and not sold. The license begins when Computer
- Tyme recieves payment in full. You may not transfer, sell, sublease or
- rent this software without the written consent of Computer Tyme. You are
- not allowed to distribute MarxMenu in runtime form with software you
- developed unless it is in combination with a paid for copy of MarxMenu,
- or you have made special arrangements in writing with Computer Tyme to
- do so.
-
- Use of this product constitutes your acceptance of the terms and
- conditions of this license and of my copyright and your agreement to
- abide by these terms and conditions.
-
- WARRANTY:
- WARRANTY:
- WARRANTY:
-
- The warranty is limited to the diskettes to be machine readable for a
- period of 30 days after purchase. Although we try hard to write perfect
- software that has no bugs, we do not guarantee that. We also do not
- guarantee that this product is fit for every purpose and we are not
- liable for any damages that might occur from use of this product. This
- agreement is governed by the laws of the State of Missouri.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 2
- _______________________________________________________________
-
-
- ACKNOWLEDGMENTS:
- ACKNOWLEDGMENTS:
- ACKNOWLEDGMENTS:
-
- I would like to thank the following people for making this product
- possible:
-
- Joe Smith and Kevin Moore for helping write this manual. My wife Vicki
- for being good to me and helping with revisions and editing.
-
- The Computer Tyme staff for being the best employees in the world.
-
- Borland International for writing Turbo Pascal and keeping it bug free
- and well supported.
-
- TurboPower Software for their very powerful extensions to Turbo Pascal
- and their well written, well supported product.
-
- Semware for TEdit and QEdit, their full screen editors.
-
- All users who actually paid for this product so that we may continue to
- eat.
-
- Those of you who have pointed out bugs and made suggestions to improve
- our product.
-
- TRADEMARKS
- TRADEMARKS
- TRADEMARKS
-
- MarxMenu, DOS ToolBox, Directory Master, and The Network Survival Kit
- are trademarks of Computer Tyme.
-
- QEdit and TEdit are trademarks of SemWare.
- Lotus is a registered trademark of Lotus Development.
- Wordstar is a registered trademark of MicroPro International.
- Smart Software is a trademark of Informix.
- MS-DOS is a trademark of Microsoft.
- Concurrent DOS and DR-DOS are trademarks of Digital Research.
- Turbo Pascal is a trademark of Borland International.
- OPRO and TPRO are trademarks of TurboPower Software
- Netware and Novell are trademarks of Novell
- DesqView and QEMM are trademarks of Quarterdeck
- IBM is a trademark of International Business Machines
-
- Created using Turbo Pascal
- Copyright 1983-90 by Borland International
-
- THE MARXMENU NAME
- THE MARXMENU NAME
- THE MARXMENU NAME
-
- When I first wrote this program my friends referred to it as Marc's
- Menu. That's where the name MarxMenu came from. It has nothing to do
- with either Carl or Groucho Marx.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 3
- _______________________________________________________________
-
-
- TECHNICAL SUPPORT
- TECHNICAL SUPPORT
- TECHNICAL SUPPORT
-
- Technical support for MarxMenu is provided several ways. The first is by
- calling our voice line 1-417-866-1222. We would ask that you not call
- the 800 number as that is for orders and ordering information only.
-
- We have several support staff and will try to answer your questions as
- quickly and efficiently as possible. We at Computer Tyme look at
- technical support as an opportunity to improve our product.
-
- We also have a 24 hour BBS system. This allows users with modems to
- leave messages about support issues. There are several user uploaded
- menus here and it serves as a forum for MarxMenu users to share ideas
- and techniques.
-
- Our BBS number is 1-417-866-1665. Supports 2400 baud but is 1200 baud
- compatible. Use 8 bits, no parity, 1 stop bit (8N1). You will also need
- to set your terminal emulation mode to ANSI or VT100.
-
- On our BBS are additional sample menu files that other MarxMenu users
- like yourself have uploaded. We encourage you to share your work with
- others so that yet more MarxMenu users can benefit.
-
- We are also available on Compuserve ID 76505,1120.
-
- We also offer a Fast Update Service which includes regular upgrades sent
- to you automatically as we come out with them. This doesn't mean every
- version of MarxMenu, but every so often after making several
- improvements and the product is at a stable point. The Fast Update
- Service includes special access to our support BBS.
-
- This service is for the very fierce MarxMenu user who has to have the
- "Latest and Greatest" all the time.
-
- OVERVIEW OF THE MARXMENU SYSTEM
- OVERVIEW OF THE MARXMENU SYSTEM
- OVERVIEW OF THE MARXMENU SYSTEM
-
- MarxMenu is not just another fill-in-the-blank menu system. It is a menu
- programming language and job control language. It gives you total
- freedom to do whatever you want, but total freedom has a price. You will
- need to know and understand how to use a text editor. This isn't
- difficult if you are familiar with using a word processor. And you will
- need to have a basic understanding of DOS and how batch files work.
-
- With a text editor you can create a menu file which is a text file with
- an MNU extension. Or, you can copy and then modify the text file
- SAMPLE2.MNU which displays the menus you see when MarxMenu is executed.
- This text file contains a set of instructions for MarxMenu to follow.
- MarxMenu will then read your menu file and run the instructions.
-
- A menu file might look as follows:
-
-
-
- Computer Tyme MarxMenu Users Manual Page 4
- _______________________________________________________________
-
-
- DrawBox 31 5 18 4
- UseArrows
- Writeln ' W - WordStar'
- Write ' L - Lotus'
-
- OnKey 'W'
- CD\WORDSTAR
- WS
-
- OnKey 'L'
- CD\LOTUS
- LOTUS
-
- The above example is a fully working MarxMenu program. Just because
- MarxMenu has 500 commands doesn't mean you have to use them all. The
- reason there are so many commands is that people keep calling me up and
- asking if I can add such and such. Most of the time I do. That's why the
- manual gets behind sometimes.
-
- The instructions must be from the vocabulary of words that MarxMenu
- understands. These words make up the command list included in this
- manual. They must be used precisely as the instructions in this manual
- tell you to use them. This process is called programming.
-
- I know that for many of you the word programming is a scary word. Put
- your fears at ease, MarxMenu is one of the easiest programming languages
- there is. It is a little harder than writing batch files and a lot
- easier than Basic. It requires a working knowledge of DOS and an
- understanding of writing batch files as explained in your DOS manual.
-
- The point that I want to make is, do not let the fear of learning and
- the fear of programming prevent you from learning to write your own
- menus. If you have never touched a computer before and are sitting down
- with your first PC, read the manuals first. Become familiar with the
- MS-DOS operating system. Learn how to write batch files, make
- subdirectories, copy files, format floppies, etc. If you don't
- understand something, ask a friend. All of us had to learn sometime, and
- there is no such thing as a stupid question.
-
- After you have mastered some of the basic concepts of the operating
- system, then learn either TEDIT or MarxEdit. These are text editors
- included with your MarxMenu program. Use it to write your own batch
- files. Then attempt to write your own menus by modifying the sample
- menus (files with a MNU extension) which come with MarxMenu. Print these
- menus and study them, referring to this manual for help on command
- definitions. You do not have to completely understand them to start
- making changes. Programming is a trial and error process.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 5
- _______________________________________________________________
-
-
- A computer, like a musical instrument, is only as good as the player.
- The more you learn about it the more you'll find it can do. In fact, a
- computer can help raise your effective IQ as you learn the disciplines
- of logic and reason. As a hammer is a tool of the hand, enhancing your
- physical strength, a computer is a tool of the mind, enhancing your
- mental strength. You will learn that as you develop a relationship with
- your computer, that you will be able to process information in ways you
- never dreamed.
-
- MarxMenu is an excellent learning tool. By the time you become
- proficient with the menu language, you will have learned the fundamental
- concepts behind the MS-DOS operating system. You will find yourself
- going back and forth between this manual and the DOS manual that came
- with your computer. When you master the language, you will have enough
- computing skills to be a real resource in your office environment. In
- this day and age, knowing how to "make the damn things work" is a key in
- moving up the corporate ladder.
-
- If you have sufficient excess income to afford a personal computer, or
- are in a job that provides you with a workstation, you are smart enough
- to learn this program. All it requires is that you take the time. You
- can do it. It is worth your time, and you will make up the time spent in
- the results you'll get. Good luck and enjoy.
-
- WHAT MARXMENU DOES
- WHAT MARXMENU DOES
- WHAT MARXMENU DOES
-
- So with hundreds of menus on the market, what makes this one so great.
- Well, let me tell you about it. MarxMenu is a menu language rather than
- a fill in the blank kind of menu. MarxMenu gives you total control of
- your computer system.
-
- It is also a job control language allowing you to program processes too
- difficult to do with batch files. MarxMenu can be used to do anything
- from overnight batch job processing to generating control scripts for
- mainframes.
-
- Because of it's simple syntax, MarxMenu makes an excellent teaching
- language putting more programming power in the hands of the student
- programmer than any other programming language.
-
- As a menu, MarxMenu can be as simple or as complex as you want. If you
- want simple, nothing is easier. If you want POWER, nothing is more
- powerful. If you want to get really weird, MarxMenu can do really wierd.
-
- So if you want the menu to remind you to go vote, MarxMenu knows when
- the first Teusday after the first Monday in November on even years is.
- If you are into Astrology, and you want certain menu items to appear
- only if Mars is in the right place in the sky, MarxMenu can calculate
- the orbit of Mars for you.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 6
- _______________________________________________________________
-
-
- MarxMenu can be used to program games, write running software demos and
- online tutorial programs. It can be used to write testing programs. It
- can be used to write custom software installation programs. It can be
- used to assist other applications to make other software more network
- friendly.
-
- MarxMenu has a compiler for high speed execution. Even very large menus
- come up in under 4 seconds on a 4.77mhz IBM XT on an ArcNet lan. The
- compiler also provides security in that you can keep your source files
- separate so no one can alter the menu files.
-
- FOR THE POWER USER:
- FOR THE POWER USER:
- FOR THE POWER USER:
-
- I originally wrote MarxMenu on a dare. I said that in one afternoon I
- could write a better menu system than one of the most popular menu
- systems. I met the challenge and then found that there is a lot of
- demand for power in a menu system. Friends started asking for this and
- that feature and this program has gone far beyond what I ever intended.
-
- The demand for more features has outpaced my ability to keep up with the
- documentation standards that I expect from other software packages that
- I buy. Please bear with me. If you find any errors in the manual, or
- bugs in the program, please let me know and I'll try to correct any
- problems.
-
- I also appreciate your suggestions for improvements. Many of the
- features included are a result of requests you have made. Many of you
- are using this program in ways I never dreamed.
-
- The main design philosophy behind this product is POWER and Flexibility.
- I am also committed to keeping the source code as readable as possible.
- I am loyal to the concept of using NO RAM. None of MarxMenu stays
- resident. Because of this I can claim that if you are having some kind
- of problem, it's not the fault of MarxMenu being resident, because
- MarxMenu is not resident. Also, using NO RAM allows loading of TSR's
- (memory resident programs) from the menu.
-
- For computer consultants, MarxMenu is an excellent way to make money.
- You can provide your clients with professional looking menu systems
- customized (by you) to fit their needs. You can provide complex menu
- structures not possible with any other menu system. And, because
- MarxMenu uses NO RAM, you don't have to worry about conflicts between
- MarxMenu and any other software product.
-
- Although MarxMenu is copyrighted, the program is not copy protected.
- There is nothing to prevent you from making hot copies and giving them
- away to all your clients. I would like to point out that when you give
- away something you should be selling you lose respect from your clients
- and attract those who expect you to work for free. You will make more
- money if you play by the rules. My best and most profitable clients use
- no hot software whatsoever. Think about it.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 7
- _______________________________________________________________
-
-
- INSTALLATION
- INSTALLATION
- INSTALLATION
-
- You may wish to copy the MarxMenu system into it's own subdirectory
- called MARX to keep the files better organized. However, this is not
- necessary. Copy all the disks that come with MarxMenu into a directory
- on your hard disk or network.
-
- If you do put the menu system in a subdirectory, it must be path
- accessible. That is, you must have a path statement in your autoexec.bat
- file that includes the directory where the menu system resides. A
- typical path statement might look like this:
-
- PATH=C:\;C:\DOS;C:\MARX;
-
- Copy all your Computer Tyme disks to the hard disk or network and type
- MARXINST. When it gets done, you can run some of the sample menus by
- typing MARX <menu>.
-
- -------------------- V E R Y * I M P O R T A N T ----------------------
-
- MarxMenu requires up to 100 bytes of free environment space. It won't
- run properly without it. The way you get more environment space is to
- add a SHELL command to your CONFIG.SYS file.
-
- SHELL=COMMAND.COM /P /E:nnn
-
- Where NNN is the number of bytes for the environment to reserve. Note
- that if you are running DOS that is earlier than 3.3 then NNN is the
- number of 16 byte blocks to allocate for the environment.
-
- For DOS 3.3 or later:
-
- SHELL=COMMAND.COM /P /E:400
-
- For DOS earlier than 3.3:
-
- SHELL=COMMAND.COM /P /E:25
-
- If MarxMenu gives you an environment space error, this is where you go
- to fix it.
-
- INSTALLING THE NETWORK SURVIVAL KIT
- INSTALLING THE NETWORK SURVIVAL KIT
- INSTALLING THE NETWORK SURVIVAL KIT
-
- The Network Survival Kit is installed by copying the distribution disk
- into a directory on your server and typing INSTALL. It will unpack into
- about 2.5 megs of programs and documentation. Be sure to print out the
- DOC files on any programs you are interested in and print out the
- MARXREAD.ME and MARXREAD.ME2 files.
-
- Make sure you do not run the install from the floppy disk.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 8
- _______________________________________________________________
-
-
- THE MARX.BAT FILE
- THE MARX.BAT FILE
- THE MARX.BAT FILE
-
- In order for MarxMenu to work, a MARX.BAT file must be created. This is
- done by typing MARXINST. The first thing that MARXINST does is unpack
- the compressed menu files and documentation files. Then it will bring up
- the installation menu.
-
- The MARX.BAT file looks like this:
-
- @ECHO OFF
- C:\MARX\MARXMENU.EXE %1
- %MXCMD%
- %0 %1
-
- The first line of MARX.BAT turns the echo off. This may be changed to
- ECHO ON for debugging purposes. PAUSE commands can be inserted to debug
- a menu. This allows you to see what's going on.
-
- The second line of MARX.BAT runs MARXMENU.EXE. The second parameter %1
- is the name of the menu file to run. A third parameter can be added to
- tell MarxMenu to use a specific directory for creating temporary batch
- files. Otherwise MarxMenu will create temporary batch files in the same
- directory as MARXMENU.EXE.
-
- When the user selects a program to run, MarxMenu writes a temporary
- batch file which contains within it the commands to run the program.
- Then MarxMenu writes a command to the environment variable MXCMD to
- execute the temporary batch file and exits.
-
- What it writes depends on the version of DOS you are running. If you are
- running DOS 3.3 or later, MXCMD is set to CALL <batch>. If you are
- running an earlier version of DOS then MXCMD is set to COMMAND /C
- <batch>.
-
- Whatever command is written to MXCMD is executed in line 3. This usually
- calls the temporary batch file that MarxMenu created. This executes your
- program and returns to MARX.BAT.
-
- Line four jumps back to the beginning of the batch file and starts all
- over. %0 is MARX.BAT and %1 is the name of the menu you are running.
-
- MARX.BAT
- -------- +--MarxMenu Creates--+
- +----> @ECHO OFF | |
- | MARXMENU.EXE %1 |
- | %MXCMD% >--+ +-> $MX00000.BAT
- | +--> %0 %1 --+ | ------------
- | | | +----------------------> CD\WORDSTAR
- +-|------<-----+ WS --+
- | |
- +-------------------------------------------<-+
-
-
-
- Computer Tyme MarxMenu Users Manual Page 9
- _______________________________________________________________
-
-
- Note: MarxMenu sets MXCMD = CALL $MX00000.BAT
-
- You can also tell MarxMenu where to put it's temporary batch files by
- setting an environment variable TEMP to point to a temporary file
- directory.
-
- Example: SET TEMP=F:\TMPFILES
-
- This is compatible with the way DOS 5 and Windows uses temp files.
-
- When you exit the menu system. MarxMenu sets MXCMD to MXSTOP. This jumps
- to a batch file called MXSTOP which gets you out of MARX.BAT. MXSTOP.BAT
- can be modified to control what happens when MarxMenu is exited.
-
- The default MXSTOP.BAT file is as follows.
-
- SET MXCMD=
- SET KSV=
- REM You can control menu exiting with this file!
-
- Note that by adding your own commands to MXSTOP that you can control
- what happens when you exit. You could loop right back to the menu if you
- want. Or, you could force a controlled network logoff.
-
- I strongly recommend upgrading to DOS 3.3 or later whenever it is
- possible to do so.
-
- The name of the temporary batch file is as follows:
-
- $MX00000.BAT
- ||||
- Shells--------+|++--------Network Station (Hex)
- Task Number
-
- The 5 zeros are used for single user versions of MarxMenu. On a network
- they change as follows:
-
- The last 2 zeros is the station number on the network. This is either
- read directly from the shell, if you are using Novell, or from the
- environment variable STATION if you are on another network. The third
- zero is the task number if you are running DesqView, or from an
- environment variable TASK if you are running some other multitasker.
-
- The second zero is replaced by one less than the number of COMMAND.COM
- shells you are running. This way if you run COMMAND.COM under MarxMenu
- and then run MarxMenu again under that, it doesn't get lost when you
- exit.
-
- The first zero is for future expansion. In case something comes along
- that I haven't thought of.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 10
- _______________________________________________________________
-
-
- If you want to do custom tricks, MarxMenu has an internal variable
- called MxCmd. Setting this to your own command overrides the way
- MarxMenu would normally use it.
-
- But now you ask, does MarxMenu leave a trail of batch files that will
- clutter up my drive or network? Not at all. MarxMenu keeps using the
- same names over and over again. If a user crashed his system, it might
- leave a batch file but it would be overwritten the next time he used the
- menu. Not only that, all batch files can be kept in the same directory
- so cleaning up is as simple as typing DEL $MX*.BAT!
-
- By writing to the MxCmd variable you can run an EXE or COM file directly
- without having to create another batch file.
-
- Example:
- OnKey 'M'
- |MxCmd = 'RAMMAP'
-
- This runs RamMap directly from the MARX.BAT file.
-
- Another trick is to run another batch file without the CALL statement.
- This creates a one way jump to another batch file.
-
- Another debugging feature. You can change the first line of the MARX.BAT
- file as follows:
-
- @ECHO %MXECHO%
-
- This allows you to turn the echo on for debugging purposes by typing:
-
- SET MXECHO=ON
-
- This way you don't have to change the MARX.BAT file to debug. If you use
- this, make sure that MXECHO is set to either ON or OFF.
-
- DROPTO.BAT
- DROPTO.BAT
- DROPTO.BAT
-
- If you are going to run a shell like COMMAND.COM under MarxMenu it is
- sometimes better to use DROPTO.BAT which is created during the install
- process. DropTo allows you to jump from the temporary batch file that
- MarxMenu creates to DropTo, which deletes the temporary batch file and
- executes the rest of the command line.
-
- Usage: DROPTO %0 COMMAND.COM
-
- If you are using DropTo inside a MarxMenu, the %0 is automatically added
- for you.
-
- Example:
- OnKey 'C'
- DropTo COMMAND.COM
-
-
-
- Computer Tyme MarxMenu Users Manual Page 11
- _______________________________________________________________
-
-
- DROPTO.BAT
- ----------
- DEL %1
- SET KSV=
- SET MXCMD=
- %2 %3 %4 %5 %6 %7 %8 %9
-
- Here's how it works:
-
- $MX00000.BAT <------deletes this file--------+
- ------------ |
- DROPTO %0 COMMAND.COM ------------> DEL %1 >-+
- SET KSV=
- SET MXCMD=
- %2 executes COMMAND.COM--> %2 %3 %4 %5 %6 %7 %8 %9
-
- The advantages are that the temporary batch file is eliminated so if the
- user never returns to the menu, it leaves no temporary file to clutter
- up the drive. Also, DROPTO.BAT becomes the pending batch file that is
- running rather than the temporary file.
-
- SUPPORT FOR EARLY DOS VERSIONS
- SUPPORT FOR EARLY DOS VERSIONS
- SUPPORT FOR EARLY DOS VERSIONS
-
- There are two main differences between DOS versions earlier than 3.3 and
- versions 3.3 and above. One is the CALL command for batch files and the
- other is the way you specify environment space when using COMMAND.COM.
-
- I have enhanced the support for early DOS versions (3.0, 3.1, 3.2).
- MarxMenu executes COMMAND /C /E:nn (batchfile) >NUL to have one batch
- file call another. The first two lines of the batch files created are as
- follows:
-
- ECHO OFF
- CTTY CON
- ....
-
- This eliminates the ECHO OFF from being seen.
-
- Also whenever possible, when MarxMenu loads up a copy of COMMAND.COM, it
- adds the /E:nnn command to set the environment space to the same as that
- of the Master Environment. In versions earlier then 3.3 it is translated
- to paragraphs instead of bytes.
-
- One thing to note in early versions of DOS. If you run a batch file
- under COMMAND /C and your batch file has SET commands to set environment
- variables, the changes you make will disappear as soon as you get back
- to MARX.BAT. Why? Because you loaded another COMMAND.COM and the SET
- commands set its environment. When this COMMAND.COM ends, it takes its
- environment with it. Under DOS 3.3 or later, which uses CALL instead of
- another shell, the SET commands live. (Yet another reason to upgrade).
-
-
-
- Computer Tyme MarxMenu Users Manual Page 12
- _______________________________________________________________
-
-
- ABOUT ENVIRONMENT VARIABLES
- ABOUT ENVIRONMENT VARIABLES
- ABOUT ENVIRONMENT VARIABLES
-
- I've been talking a lot about environment variables. Some of you out
- there in novice land don't know what an environment variable is. Many
- others don't know the intricate secrets handed down from the Great DOS
- Masters who know all the intricate undocumented features of DOS.
-
- Your DOS shell, COMMAND.COM owns an area of memory called the Master
- Environment. It contains strings in the form Name=Value. Included among
- those strings are your COMSPEC and your PATH. Your COMSPEC tells DOS and
- other programs where to find COMMAND.COM. Your PATH tells DOS and other
- programs what directories to search when loading programs. Another
- common environment variable is your PROMPT. This controls what your DOS
- prompt will look like.
-
- Environment variables are commonly set using the SET command. This is
- done by typing SET NAME=VALUE.
-
- Example:
- SET COLOR=BLUE
-
- So what does this actually do? Actually nothing, unless you have a
- program that reads the environment variables that is looking for one
- called COLOR. This way, environment variables can be used to leave
- messages to other programs and control how they behave.
-
- Besides leaving messages, environment variables can be accessed by batch
- files. If you use %NAME% in a batch file, DOS will substitute the VALUE
- of the variable for the %NAME% expression. And this feature is important
- to MarxMenu's operation.
-
- MarxMenu uses an environment variable called MXCMD. In the MARX.BAT file
- the third line is %MXCMD%. So MarxMenu controls MARX.BAT by writing
- values to MXCMD.
-
- In order to do this, there must be enough room in the environment for
- the command to fit. That is why you need to make sure that you have a
- SHELL command in your CONFIG.SYS to set space for MarxMenu to use.
-
- Now so far I've only talked about the Master Environment. That's the one
- that the first COMMAND.COM owns. Each program that is loaded, including
- TSRs, gets a copy of the Master Environment in its own environment. This
- is called the CURRENT Environment.
-
- One interesting feature of the Current Environment is that it is smaller
- than the Master Environment. DOS only creates enough space to hold a
- copy of the space used in the Master Environment and a little more to
- store the name of the program that is running.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 13
- _______________________________________________________________
-
-
- If one program executes another program, the environment of the parent
- program is called the Parent Environment. You will probable never need
- to deal with the Parent Environment but MarxMenu can access it in case
- you do.
-
- Another environment is the SHELL ENVIRONMENT. This is the one that THEY
- never talk about. The one you'll never read about in any books. The one
- you'll never learn about in any DOS classes. This is the one your
- parents never mentioned.
-
- The Shell Environment is normally the same as the Master Environment.
- But, if you are running more that one level of COMMAND.COM, the Shell
- Environment is the environment of the last COMMAND.COM in memory. This
- environment is the most important environment to MarxMenu.
-
- So why load up two or more COMMAND.COMs? There are several cases where
- this could occur. One case is when you want to run COMMAND.COM as a
- program under MarxMenu. This way you can type EXIT to get back to the
- menu. If you do this and then run MarxMenu again, you have two levels of
- COMMAND.COM. In this case, the first COMMAND.COM is the Master
- Environment and the second COMMAND.COM is the Shell Environment.
-
- Another place where more than one COMMAND.COM is used is if you are
- running Microsoft Windows 3 or DesqView. Both of these programs are able
- to run a DOS shell. When you do, this is a second level of COMMAND.COM.
-
- What is important is that SET commands and %NAME% commands in batch
- files deal only with the Shell Environment and not the Master
- Environment.
-
- DEALING WITH MULTIPLE DOS SHELLS
- DEALING WITH MULTIPLE DOS SHELLS
- DEALING WITH MULTIPLE DOS SHELLS
-
- If you are running more than one level of COMMAND.COM (Shelling from
- Windows, DesqView, Word Perfect Office) and having environment space
- problems here's a trick. Before you load up your fancy shells, put this
- in a batch file like your AUTOEXEC.BAT.
-
- SET MXCMD=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-
- This variable will be trashed by MarxMenu thus freeing up the
- environment space it occupied. This will not only allow MarxMenu to run
- but may solve problems with other programs you are running that need
- environment space as well.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 14
- _______________________________________________________________
-
-
- MARXMENU AND TSR CONTROL
- MARXMENU AND TSR CONTROL
- MARXMENU AND TSR CONTROL
-
- MarxMenu along with the TSR utilities that come with MarxMenu, can load
- and unload TSRs under menu control. This is handy when you want to run a
- big application and need to free up some memory to do it. Since MarxMenu
- is a 0k menu system, unloading TSRs is possible but it has it's tricks.
-
- The problem you run into is that when one batch file calls another batch
- file, the way MarxMenu normally runs, DOS creates a small batch file
- control block in memory. This control block stays in memory after the
- TSR is released creating a region of trapped memory. Although this
- memory is freed, it isn't usable.
-
- The way around it is to jump to the batch file that releases memory
- instead of calling it. This is done by setting MXCMD to the name of the
- batch file you want to run. The only problem is that when you jump to
- the other batch file, it won't automatically return to MARX.BAT. You
- must therefore end your batch file with a command bringing you back to
- MARX.BAT.
-
- MEMHOG.BAT
- -----------
- Rem UnLoad SideKick
- RELEASE SK
- CD\MEMHOG
- MEMHOG
- MARK SK
- SK
- MARX MAIN
-
- In your MAIN menu:
-
- OnKey 'H'
- |MxCmd = MEMHOG
-
- See the documentation file on the TSR utilities disk for more
- information on how to use MARK and RELEASE.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 15
- _______________________________________________________________
-
-
- NETWORK USERS:
- NETWORK USERS:
- NETWORK USERS:
-
- The main thing you have to worry about on a network is to make sure that
- when MarxMenu creates a temporary batch file, that it is a different one
- for each user on the network.
-
- This is handled several ways. If you are on a Novell network, MarxMenu
- uses your station number as part of the name for the temporary batch
- file. If you are not using Novell, then you will need to set an
- environment variable STATION for each workstation on your net. Each one
- has to be a different number.
-
- Example:
- SET STATION=5
-
- You must ensure that the user has enough access rights to create
- temporary batch files in the directory selected for temporary batch
- files. One solution is to create a batch file directory and give all the
- users full access rights to it.
-
- MarxMenu has been run on about every DOS based network that exists. If
- the network runs at all it will generally run MarxMenu. Among the
- networks that come to mind are Novell, Lantastic, Banyan, 3COM, Lan
- Manager, IBM, DECNET, ConCurrent DOS, and SCO VPIX. MarxMenu is running
- on networks as small as two users to as large as 20,000 users. In fact,
- the bigger your network, the more you need MarxMenu.
-
- NOVELL USERS:
- NOVELL USERS:
- NOVELL USERS:
-
- Novell is the most popular network on the market. We have added many
- enhancements for Novell networks to support things like logging in and
- logging out, drive mapping, group support, software metering, and status
- information.
-
- Although Novell is a high quality solid product it has its own
- "Personality" and many undocumented features otherwise known as bugs.
- Most people who are having trouble with MarxMenu under Novell are really
- having trouble with Novell. Quite frankly, we do more Novell support
- than we do MarxMenu support.
-
- Having said that, I own two Novell networks. One at the lab and one at
- home and I love my networks. But, I have spent hundreds of hours
- learning all the tricks. And to save you a phone call, and me a lot of
- time, I've decided to share these tricks here in my manual.
-
- Some of these tricks are from the Great Network Gurus themselves who are
- so advanced that they no longer exist in physical form. These people
- live in another dimension of total mental existence and can only be
- reached my modem. Some of them hang out on Compuserve.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 16
- _______________________________________________________________
-
-
- I therefore strongly recommend that if you are a serious Novell user
- that you join Compuserve and hang out in the Novell section. And just
- because not everyone on Compuserve is a real person doesn't mean that
- you should feel uncomfortable asking them any question about your
- network that you need to ask.
-
- THE NOVELL MENU TRANSLATOR
- THE NOVELL MENU TRANSLATOR
- THE NOVELL MENU TRANSLATOR
-
- One nice bonus with Novell networks is that MarxMenu can translate your
- Novell menus to MarxMenu. This saves you the time of having to recode
- your system. What you do is type:
-
- MARXMENU NOVTRANS <menu>
-
- This translates your Novell MNU file to a MarxMenu MRX file. Your MNU
- file is unchanged. MarxMenu creates a TMP file containing the source
- code for the MRX file. Once you are satisfied with the MarxMenu file,
- you just delete the MNU file and rename the TMP file to MNU and forget
- that you ever had a Novell menu.
-
- Once the menu is translated you run it by typing MARX <menu> instead of
- MENU <menu>. MarxMenu can run Novell's menu better than Novell runs
- their own.
-
- LOGGING OUT UNDER MENU CONTROL
- LOGGING OUT UNDER MENU CONTROL
- LOGGING OUT UNDER MENU CONTROL
-
- Logging out under menu control is one of the trickiest things to do. The
- problem is that as soon as LOGOUT executes, you no longer have access to
- the network. This means that if you are in a batch file, you are going
- to get a "Missing Batch File" error, unless the batch file is in the
- \LOGIN directory.
-
- Another problem with logging out is making sure that your COMSPEC is
- pointing to a COMMAND.COM that is either on the local drive or in the
- \LOGIN directory. Otherwise you will get a "Cannot load COMMAND.COM"
- error.
-
- Another problem that you need to deal with is that your PATH command
- needs to be changed so that it doesn't refer to mapped drives that are
- no longer accessable.
-
- What you need to do is create a batch file in the \LOGIN directory
- called OFF.BAT.
-
- Example: F:\LOGIN\OFF.BAT
-
- CD\LOGIN
- SET COMSPEC=C:\COMMAND.COM
- LOGOUT
- C:
- PATH=C:\DOS
-
-
-
- Computer Tyme MarxMenu Users Manual Page 17
- _______________________________________________________________
-
-
- Setting up an OFF.BAT file is compatible with MarxMenu's automatic
- network logoff feature. This is where you can set the amount of time to
- wait at a menu before it automatically logs you off the network.
-
- Another way to logout under MarxMenu is to stuff the LOGOUT command into
- the keyboard buffer and exit MarxMenu.
-
- Example:
- OnKey ESC
- |StuffKBD 'LOGOUT' + CR
- |ExitMenu
-
- This is the cleanest way when possible.
-
- Another logout trick is to use the LOGOFF utility from the Computer Tyme
- Network Survival Kit. This program automatically fixes your PATH and
- COMSPEC after the logoff occurs.
-
- LOGGING IN WITH MARXMENU
- LOGGING IN WITH MARXMENU
- LOGGING IN WITH MARXMENU
-
- If there is any one thing that's trickier than logging out of a Novell
- network, is logging in. I have spent MANY hours struggling with Novell
- trying to get it right and I have finally figured it out. Much of this
- comes from the Novell gurus who hang out on Compuserve and know
- everything there is to know about Novell.
-
- The first thing you need to do is make up your mind that you are going
- to do it right. The technique here might seem somewhat cumbersome, but
- it works well and will keep you out of trouble.
-
- MarxMenu has the ability to log you into a network, map your drives, and
- set your environment strings without having to touch a Novell utility to
- do so. MarxMenu can completely eliminate the need for Novell login
- scripts. The advantage to using MarxMenu in the login is that you have
- the power of 500 commands to work with instead of just 25 or so.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 18
- _______________________________________________________________
-
-
- THE CONFIG.SYS FILE
- THE CONFIG.SYS FILE
- THE CONFIG.SYS FILE
-
- The place to start is the place where DOS start when DOS boots. You MUST
- create a CONFIG.SYS file on your boot disk. The CONFIG.SYS tells DOS how
- many files and buffers to create, what device drivers to load, and the
- size of the Master Environment.
-
- Unless you are using special drivers, BUFFERS=40 and FILES=40 is a good
- place to start. STACKS 0,0 will gain you an extra 3k of ram. But the
- most important command is the shell statement. A CONFIG.SYS file might
- look like this:
-
- SHELL=COMMAND.COM /P /E:400
- BUFFERS=40
- FILES=40
- DEVICE=ANSI.SYS
-
- This sets up enough environment space to allow MarxMenu and DOS SET
- commands to work properly. You will also want to load any other device
- drivers like QEMM386.SYS or 386MAX.SYS to take advantage of other
- features of your computer. If you don't know about CONFIG.SYS files,
- read the DOS manual.
-
- Note: If you don't have a local hard disk and are booting from a floppy
- drive, set BUFFERS=4. If you are booting from a diskless workstation,
- set BUFFERS=1. BUFFERS are used for local drives only and have no effect
- on network drives. You save 1k of memory for every 2 buffers you don't
- use.
-
- THE AUTOEXEC.BAT FILE
- THE AUTOEXEC.BAT FILE
- THE AUTOEXEC.BAT FILE
-
- After the CONFIG.SYS is loaded the AUTOEXEC.BAT runs next. Here you load
- up your TSRs and network drivers. There are some important tricks to be
- used here as well.
-
- First of all, never load your network shell from your AUTOEXEC.BAT file.
- Always have it branch to another batch file called LOADNET to load the
- network shell. Use the autoexec.bat only to load special TSRs and the
- IPX. An autoexec.bat might look like this:
-
- @Echo Off
- Cls
- IPX
- SET NET=NET4.COM
- SET COMSPEC=X:COMMAND.COM
- LOADNET
-
-
-
- Computer Tyme MarxMenu Users Manual Page 19
- _______________________________________________________________
-
-
- The two SET commands are very important. The first sets a variable
- called NET to NET4.COM. This will be used later in LOADNET.BAT. By using
- this variable, you can have users running many different versions of DOS
- and still use the same LOADNET.BAT file. You could also use a command
- SET NET=LOADHI EMSNET4.EXE to take advantage of advanced memory manager
- software.
-
- Another trick is to run BESTNET from the Network Survival Kit. BestNet
- will automatically pick the best network shell and set the NET
- environment variable for you. You would use the command BESTNET instead
- of SET NET=NET4.COM in the AUTOEXEC.BAT file.
-
- The SET COMSPEC=X:COMMAND.COM is important if you are booting off of
- either a floppy drive or a diskless workstation. This assumes that X:
- will eventually be mapped to a directory on the network that has a valid
- COMMAND.COM in it.
-
- It is important to set the comspec BEFORE loading your NET shell. This
- prevents a problem where Netware wants to go back to the boot disk even
- after you change the comspec. I don't know why this works but it does.
- Trust Me. If you are going to use COMMAND.COM on drive C:, ignore this
- paragraph.
-
- Now we go to the LOADNET.BAT file.
-
- @Echo Off
- %NET%
- SET NET=
- F:
- STARTUP
-
- The big concept behind LOADNET is that this file is NEVER CHANGED. You
- put in on all your workstations and in the LOGIN directory and it is
- EXACTLY THE SAME for every computer in your network. Any changes to
- individual computers are made in the AUTOEXEC.BAT file.
-
- So why is this important. Because if you are running diskless
- workstations what happens is that while you are booting you have a
- mythical drive A:. As soon as your NET shell loads this drive
- dissappears out from under you and you end up in F:\LOGIN. If you are
- running LOADNET.BAT when this happens you drop out of A:LOADNET.BAT and
- land in the middle of F:\LOADNET.BAT. And if your LOADNET.BAT is exactly
- the same file as the LOADNET.BAT in the \LOGIN directory, you take off
- running like the transition never occured.
-
- Even if you are not running on diskless workstations now, you might go
- to it someday. It also creates good programming habits and helps you
- boot up cleanly.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 20
- _______________________________________________________________
-
-
- Lets see what LOADNET does. The first line is @ECHO OFF, that's easy.
- The second line %NET% executes the network shell that you specified with
- the SET NET=NET4 command. This actually loads the network shell. The
- third line clears the NET variable freeing up space for other
- environment variables. F: switches you to drive F if you aren't there
- already. And finally STARTUP is the name of yet another batch file you
- jump to.
-
- The STARTUP.BAT file controls what happens AFTER LOADNET runs. This file
- can be freely changed so that LOADNET.BAT can stay the same. This lets
- you modify what happens AFTER the network shell is loaded.
-
- If you are using Novell's login program STARTUP.BAT might look like
- this:
-
- @Echo Off
- LOGIN
-
- THE SHELL.CFG FILE
- THE SHELL.CFG FILE
- THE SHELL.CFG FILE
-
- The SHELL.CFG file is used by Netware to configure the Netware shell.
- You should read the manuals on this to see if you need any of the many
- option available. I suggest you at least have the following commands in
- your SHELL.CFG file.
-
- cache buffers=4
- show dots=on
-
- The master network gurus tell me that cache buffers are just a waste of
- memory and do not provide any better performance. Every 2 cache buffers
- not used saves you 1k of memory. Show dots makes your network compatible
- with more software utilities and should be set on unless you have some
- other reason not to.
-
- USING A MENU FILE TO LOG IN
- USING A MENU FILE TO LOG IN
- USING A MENU FILE TO LOG IN
-
- If you are going to use MarxMenu to log in instead of Novell's
- utilities, you will want to print out the sample file LOGIN.MNU on your
- MarxMenu disk and study it. Your STARTUP.BAT file might look like this:
-
- @Echo Off
- SET BOOTUP=LOGIN
- MarxMenu Login
- %BOOTUP%
-
- If MarxMenu works correctly, it will change the environment variable
- %BOOTUP% to point to a file that it creates. If for some reason it fails
- (you make a mistake in the login), it will execute Novell's login and
- let you get in and fix it.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 21
- _______________________________________________________________
-
-
- One word of caution. After modifing this menu, always run MARXCOMP LOGIN
- to compile it. Otherwise, if you boot up into it you won't have enough
- access rights to recompile automatically.
-
- NOVELL SEMAPHORES
- NOVELL SEMAPHORES
- NOVELL SEMAPHORES
-
- For a detailed explanation of Novell Semaphores, read the Novell
- manuals. What I've done is to export these functions to MarxMenu. I have
- implemented them slightly different than Novell did and have hidden all
- the nasties from you such as semaphore handles. All semaphores are
- accessed by name only.
-
- Here's a brief overview of semaphores. Semaphores are names of shared
- resources that the server keeps track of. Semaphores have three
- properties. They have a name, value and number of users. The name can be
- anything up to 48 characters long. The value is a number from -128 to
- 127. If the value is less than 0, the resource the semaphore represents
- is considered used up.
-
- By opening a semaphore, you increase the number of users by one. By
- closing it, you decrease the number by one. If a single user opens a
- semaphore many times, it is only counted as one. When you log out, your
- semaphores are closed. This is also true if you turn your computer off,
- but it takes 15 minutes for the server to give up on you.
-
- The first user to open a semaphore creates it. The last user to close a
- semaphore deletes it. When a semaphore is created, a value can be
- assigned. If a semaphore is opened that already exists, the initial
- value is ignored.
-
- When NovWaitOnSemaphore is called by any user, the value is decremented.
- If the value is not below zero, NovWaitOnSemaphore returns true.
- Otherwise it returns false and the value is unchanged. The amount of
- time that NovWaitOnSemaphore will wait is controlled by the variable
- NovSemaphoreTimeOut.
-
- When NovSignalSemaphore is called by any user, the value is incremented.
- This allows other users to call NovWaitOnSemaphore and get a True value.
-
- NovSemaphoreUsers and NovSemaphoreValue are used to read the status of a
- semaphore without changing it's value.
-
- One of the major differences between how MarxMenu uses semaphores and
- the way Novell uses them is that normally a semaphore dies when the
- application finishes. This would normally prevent a 0k menu system from
- being able to use them. MarxMenu uses an interesting trick where it
- fools Netware into thinking that the semaphore belongs to another task.
- This allows the semaphore to live.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 22
- _______________________________________________________________
-
-
- Semaphores can be tracked using FCONSOLE. Some versions of Netware have
- a bug in FCONSOLE that reports an open count that is 256 times the real
- count. Just divide by 256 for the right number.
-
- Semaphores can be used for software metering. This allows MarxMenu to be
- aware of what other users on the network are doing. Here are the basic
- tools, what you do with them is only limited by your imagination.
-
- RUNNING A MARXMENU
- RUNNING A MARXMENU
- RUNNING A MARXMENU
-
- MarxMenus are run by typing MARX and the name of a menu file such as
- SAMPLE.MNU. As discussed earlier, the menu file is a text file created
- with a text editor such as TEDIT.
-
- Usage: MARX <Menu Filename>
-
- Example:
- MARX SAMPLE
-
- In the above example, if SAMPLE.MRX doesn't exist, or is older than
- SAMPLE.MNU then MarxMenu will automatically load the complier,
- MARXCOMP.EXE to create a new SAMPLE.MRX file.
-
- In the never ending quest for more speed, MarxMenu is somewhat faster to
- load if you include the MRX extension.
-
- Example:
- MARX SAMPLE2.MRX
-
- By specifying the MRX extension, no test is made to compare the file
- date with the source file. Thus if you have changed the MNU file, you
- will still be running the old version. In order to force a recompile,
- type MARXCOMP SAMPLE.
-
- CUSTOMIZING MARXMENU SAMPLE FILES
- CUSTOMIZING MARXMENU SAMPLE FILES
- CUSTOMIZING MARXMENU SAMPLE FILES
-
- Included in the MarxMenu package are menu files which you can easily
- modify to execute your programs and perform other functions you desire.
- Using TEdit, the text editor included in this package, you can modify
- and customize these menu files.
-
- Also included to demonstrate the power and versatility of the menu
- system is a menu labeled NIM.MNU. This is a game written in the menu
- system that demonstrates some of the logic functions and programmability
- of the system. Use it for reference.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 23
- _______________________________________________________________
-
-
- Here's a simple example of a menu file:
- ===================================
- ClearScreen
- DrawBox 30 9 25 8
- Writeln ' 1) Lotus'
- Writeln ' 2) dBase'
- Writeln ' 3) Wordstar'
- Writeln
- Write 'Select: '
-
- OnKey '1'
- cd\lotus
- 123
-
- OnKey '2'
- cd\db3
- db3
-
- OnKey '3'
- cd\wordstar
- ws
-
- ====================================
-
- Notice in looking at the "OnKey" statements that all I have to do is
- tell MarxMenu how to get to the program. Although, MarxMenu takes care
- of reloading itself after exiting a selected program, its does not
- return to its own subdirectory as many other menu programs do.
-
- That means that if you execute a program in another subdirectory, when
- you come back to the menu, you remain in that subdirectory. If you
- normally run your applications with a batch file, consider having
- MarxMenu change directories and execute the program for you. This will
- eliminate debugging problems caused by the actions of your batch files.
-
- MENU ANALYSIS
- MENU ANALYSIS
- MENU ANALYSIS
-
- Let's start a simple analysis of the example menu file shown
- above. The ClearScreen statement simply clears the screen to
- give us a fresh workspace for the menu. DrawBox is the command to
- draw a box on the screen to contain some menu text. The Writeln
- command writes a line of text to the screen within the box, then
- positions the cursor on the next line. The menu text shows the
- available selection keys that the user has access to.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 24
- _______________________________________________________________
-
-
- ONKEY STATEMENTS
- ONKEY STATEMENTS
- ONKEY STATEMENTS
-
- The OnKey statements control what is actually executed. OnKey
- statements also allow you to execute hidden commands when you do
- not want them to appear on the menu screen. One trick I use is to
- have an OnKey statement define a key that runs TEDIT on my
- personal menu file. I don't show this key on the menu to keep
- others from poking around in the file. For additional security
- a password can also be set up on this key.
-
- Normally you enter a line of text as if you were creating a BAT
- file to run your application. Like batch files, if one of your
- commands is a batch file, all the statements after it will not
- execute. To prevent this you can use the CALL command to call a
- batch file in DOS 3.3 or later, or COMMAND /C in DOS 3.0, 3.1 and
- 3.2.
-
- Normally, text displayed under an OnKey statement is the same
- text as the batch file created by MarxMenu. There are some
- exceptions. If a line starts with a "|" (vertical bar), the line
- will be interpreted by MarxMenu instead of being written to a
- batch file. This allows commands such as "PASSWORD" to be used.
- String variables can be passed as part of a batch command if the
- name of the string variable starts with a "%" symbol.
-
- The spaces preceding the commands under the OnKey statement are
- for clarity only. They are not necessary for MarxMenu to function
- properly.
-
- POPUP MENUS
- POPUP MENUS
- POPUP MENUS
-
- If you want to create a popup menu within a menu you can do so by
- using a "label". A label is a keyword preceded by a colon. To
- call the popup menu, place the keyword on a line by itself
- preceded by a carat (Shift 6). The label will precede the popup
- menu definition.
-
- For example if you have a popup menu to load Smart Software, you could
- name the PopUpMenu Smart. To bring up the Smart PopUpMenu, define a key
- in your main menu for Smart like this:
-
- OnKey 'S'
- ^Smart
-
- The Smart menu itself might look something like this:
-
-
-
- Computer Tyme MarxMenu Users Manual Page 25
- _______________________________________________________________
-
-
- :Smart
- BoxHeaderColor ForeColor BackColor
- BoxBorderColor Yellow Green
- BoxInsideColor LCyan Green
- InverseColor Yellow Red
- BoxHeader = ' Smart Menu '
- DrawBox 45 16 20 6
- UseArrows 2 2 16 3
- ClearLine 205
- Writeln
- Writeln ' Data Base'
- Writeln ' Spread Sheet'
- Write ' Word Processor'
-
- OnKey 'D'
- SM D
-
- OnKey 'S'
- |BoxHeaderColor ForeColor BackColor
- |BoxBorderColor Yellow Green
- |BoxInsideColor White Green
- |%1 = PickFile('C:\SMART\SPREAD\*.WS',4,5,17)
- SM S -ALOAD %1
-
- OnKey 'W'
- |BoxHeaderColor ForeColor BackColor
- |BoxBorderColor Yellow Green
- |BoxInsideColor White Green
- |%1 = PickFile('C:\SMART\WORD\*.DOC',4,5,17)
- SM W -ALOAD %1
-
- While developing the menu, program one of the keys to run your favorite
- editor on the menu file that you are creating. This way, as soon as the
- change is made, the results will show when you exit your editor. Since
- MarxMenu allows versatility in creating the look of your menus, a little
- trial and error will be required to make things look right.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 26
- _______________________________________________________________
-
-
- THE CONSOLE
- THE CONSOLE
- THE CONSOLE
-
- +---| Console Functions |---+
- | 1 - Blank Screen |
- | 2 - Set Blank Message |
- | 3 - Lock Keyboard |
- | 4 - Set Blank Time |
- +---------------------------+
-
- The Console is a popup menu of built-in functions. To activate the
- console, press the TAB key. A menu will pop-up in the upper left hand
- corner of the screen. You can change the position of this popup menu
- with the ConsolePos function.
-
- The first command on the Console screen is Blank Screen. Enter 1 and the
- screen will blank immediately. It will remain blanked until a key is
- pressed. Enter 2 on the Console menu and you can change the message
- displayed on the Blank Screen display.
-
- Enter 3 and you will be prompted for a word to lock the keyboard. After
- you enter the lock word the screen will blank and the keyboard will be
- locked until the exact lock word is typed. Enter 4 to set the number of
- minutes to wait before blanking the screen.
-
- The lock word feature is handy for times when you must leave the
- keyboard but don't want menu commands displayed for all to see. It also
- effectively locks the keyboard so someone can't escape to DOS and test
- the format command on your hard disk. We run this menu on a Novell
- Network and don't want to let everyone have access to the Supervisors'
- power at the touch of the escape key should we leave the keyboard.
-
- REPOSITIONING THE TOP WINDOW
- REPOSITIONING THE TOP WINDOW
- REPOSITIONING THE TOP WINDOW
-
- One nice feature you can use to get the windows right is to turn on the
- scroll lock. This lets you move the top window around the screen using
- the arrow keys so you can see how it looks. Then you can go into your
- menu code and set it permanently.
-
- Set Scroll Lock to "on". On most keyboards, a scroll lock LED will light
- up. Now use the arrow keys to move the top window to any position on the
- screen. Neat Huh?
-
-
-
- Computer Tyme MarxMenu Users Manual Page 27
- _______________________________________________________________
-
-
- MOUSE SUPPORT
- MOUSE SUPPORT
- MOUSE SUPPORT
-
- If you have a standard mouse driver, MarxMenu will detect it and use it
- automatically. The left button on the mouse is the same as pressing
- return. The right button on the mouse is the same as pressing escape.
- Pressing both buttons on the mouse is the same as pressing the tab key.
- As of now, I'm not yet using the center button on the mouse for
- anything.
-
- The sensitivity of the mouse can be controlled using the MouseHorizontal
- and MouseVertical commands.
-
- STARTING OFF THE EASY WAY
- STARTING OFF THE EASY WAY
- STARTING OFF THE EASY WAY
-
- For those of you who want to just get a menu going and don't want
- anything complicated we have included a menu called the LEVEL1 menu.
- This menu is a fill in the blank type of menu that will get you going
- quickly and easilly.
-
- This menu requires no programming and explains itself. You run it by
- typing the command:
-
- MARX LEVEL1
-
- The first thing it does is scan your drive to find the directories. Then
- you just answer the questions and fill in the menu. This isn't as
- powerful as programming your own menu, but if you want something quick
- and dirty, this may be the answer for you.
-
- ABOUT VARIABLES
- ABOUT VARIABLES
- ABOUT VARIABLES
-
- One of the most unusual things about MarxMenu is its variables. MarxMenu
- handles variables differently than any other programming language. For
- the experienced programmer, this may require some adjustment since it's
- like getting used to driving a Cadillac after driving a VW Beetle.
-
- All variables in MarxMenu are like an empty box that can contain
- anything. A variable can be a number, boolean, string, file, array, etc.
- The type of variable is controlled internally and the user need not
- declare variable types.
-
- Variables are created with the VAR command:
-
- Var X Y Z
-
- If the word VAR is on a line by itself, the following lines, up to a
- blank line, are considered variable names.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 28
- _______________________________________________________________
-
-
- Var
- MyAge
- YourAge
- HisAge
- HerAge
-
- Variables are initialized to null values; 0 for Numbers, False for
- Booleans, and '' for strings. Initial values can be set when the
- variable is created.
-
- Var
- X = 6
- MyName = 'Marc'
- Programmer = True
-
- Variables can change variable types. If you write a number to a string
- variable, the variable changes to a number.
-
- X = '234'
- X = Value(X)
-
- This is valid in MarxMenu. X now is a number and contains the value 234.
-
- Number variables are 32-bit integers ranging between plus or minus
- 2,147,483,647.
-
- Boolean variables are True or False.
-
- String variables are limited to 255 characters.
-
- In MarxMenu, string literals are delimited by either single or double
- quotes.
-
- "This can't be yogurt!"
- 'Lincoln said "Four score and seven years ago ..." '
-
- Numbers beginning with a '$' indicate base 16 or hex numbers.
-
- When choosing variable names, it is good programming practice to choose
- long meaningful names. This allows yourself and others to be able to
- read menus and follow the logic more easily.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 29
- _______________________________________________________________
-
-
- DATES
- DATES
- DATES
-
- Dates in MarxMenu are stored as the number of seconds since Junuary 1st
- 1980. This gives MarxMenu a Date range of 68 years. By subtracting two
- dates, you get the number of seconds between two peroids of time.
-
- MarxMenu has several commands that convert text strings to dates. Here
- are some examples of how MarxMenu sees text dates.
-
- Examples:
- '4-7-91' ;04-07-1991 00:00:00
- 'April 7th, 1991 4:35pm' ;04-07-1991 16:35:00
- '12:35:23a' ;04-07-1991 00:35:23
- '3:15' ;04-07-1991 03:15:00
-
- If the string can't be converted, then BadDate is set to true.
-
- REAL NUMBERS
- REAL NUMBERS
- REAL NUMBERS
-
- So what's the difference between ordinary numbers and real numbers?
- Ordinary numbers in MarxMenu are 32 bit integers. These are numbers
- whose range is about plus or minus two billion. Integers are whole
- numbers and do not include any fractions.
-
- This is why MarxMenu has included REAL numbers (also known as Floating
- Point numbers). Real numbers in MarxMenu use BCD (Binary Coded Decimal)
- with 18 digits of accuracy. They have a range of 10 to the plus or minus
- 63rd power, which means up to 63 zeros either side of the decimal point.
- This lets you work with very big and very small numbers. MarxMenu has
- smart rounding algorithms so that 1.0 / 3 * 3 = 1.0 and not
- 0.999999999999999999 like in most languages.
-
- Real numbers are specified by using a decimal point. Thus 5.0 specifies
- a real number. Most normal MarxMenu functions still require the standard
- 32 bit integers. If you get the error: 'REAL found where INTEGER
- expected.' You need to use an integer.
-
- If an integer is passed where a real is expected, the integer is
- automatically converted to a real. Thus:
-
- 6.0 * 3 = 18.0
-
- The Value function returns real numbers if a decimal point is used in
- the string. All the relevant math functions will work with reals as well
- as comparison operators.
-
- MarxMenu supports a variety of functions for real numbers. It has trig
- functions, log functions, and exponential functions. So why do you need
- real numbers in a menu program? I don't know. I had a library and
- threw them in. I figure someone will need them someday.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 30
- _______________________________________________________________
-
-
- With real numbers you can do trigonometry calculations like those
- discovered by the ancient Indian chief Pythagoras who discovered what is
- now know as Pythagoras's triangle.
-
- Now I know that a lot of you were taught in Math class that Pythagoras
- was Greek. Well, it's just not so. Let me tell you the real story:
-
- Pythagoras was an Indian chief that had three wives. Two of the wives
- were twins and weighed 120 pounds each. And they sat next to Pythagoras
- on a pair of twin deer hides.
-
- But Pythagoras also had a third wife who was a large fat woman who sat
- across from Pythagoras on a hypopotamus hide. This wife weighed 240
- pounds.
-
- What Pythagoras discovered was that the squaw on the hypopotamus was
- equal to the sum of the squaws on the other two hides!
-
- LOCAL VARIABLES
- LOCAL VARIABLES
- LOCAL VARIABLES
-
- MarxMenu also supports local variables. Variables declared within
- procedures become local variables. Local variables are just like global
- variables in that you can use them as multidimensional arrays. When the
- procedure finishes, all local variables are disposed.
-
- If a local variable has the same name as a global variable, the local
- variable will be used.
-
- PASSING PARAMETERS TO PROCEDURES
- PASSING PARAMETERS TO PROCEDURES
- PASSING PARAMETERS TO PROCEDURES
-
- Procedures can accept parameters by declaring variable names on the same
- line as the name of the procedure.
-
- Procedures can return variables by using the Return command. Return
- exits the procedure returning the parameters on the same line as the
- Return statement.
-
- Example:
-
- Procedure Factorial (X)
- var Y Z
- Y = 1
- Z = 1
- while Y <= X
- Z = Y * Z
- Y = Y + 1
- endwhile
- Writeln X ' factorial is ' Z
- endproc
-
- In this example, if you were to use Factorial (5) you would get:
-
-
-
- Computer Tyme MarxMenu Users Manual Page 31
- _______________________________________________________________
-
-
- 5 factorial is 120
-
- Another Example:
-
- Procedure AskYesNo (Question)
- var YesNo
- DrawBox (34 - (Length(Question) / 2)) 21 Length(Question) + 14 3
- TextColor LCyan Blue
- UseArrows Off
- Write ' ',Question,' (Y/N) '
- YesNo = UpperCase(ReadKey)
- YesNo = YesNo = 'Y'
- if YesNo
- Write 'Yes'
- else
- Write 'No'
- endif
- Wait 50
- EraseTopWindow
- Return (YesNo)
- EndProc
-
- if AskYesNo 'Do you want to continue? ' then Continue
-
- In this example, MarxMenu draws a box and asks a question and waits for
- a Yes or No answer.
-
- Arrays can be passed as parameters. Parameters are passed by value not
- by reference. This means that any changes to the passed parameter do not
- affect the original value.
-
- You can copy an array by assigning it equal to another array.
-
- Example:
-
- Array1 = Array2
-
- This creates Array1 with a copy of all the elements of Array2. The
- previous contents of Array1 are overwritten.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 32
- _______________________________________________________________
-
-
- ABOUT CONSTANTS
- ABOUT CONSTANTS
- ABOUT CONSTANTS
-
- Constants are used to give values meaningful names. By using constants a
- value can be assigned once and the constant name used throughout the
- menu program. This way, if you change the value of the constant, all the
- places where that constant is used automatically change.
-
- This is good programming practice.
-
- Examples:
-
- Const States = 50 CPU = '80386 SX' WeekEnd = True
-
- or
-
- Const
- States = 50
- CPU = '80386 SX'
- WeekEnd = True
-
- Using the word STATES is just like using 50. Using CPU is just like
- using '80386 SX'. But if throughout my menu I use CPU, and then I get a
- new computer with a 80486, I can just change one line:
-
- Const CPU = '80486'
-
- And all the places I used CPU changes to '80486'. This is the correct
- way to program.
-
- ABOUT ARRAYS
- ABOUT ARRAYS
- ABOUT ARRAYS
-
- MarxMenu supports multidimensional arrays up to 31 dimensions. Unlike
- other programming languages, arrays need not be declared. MarxMenu
- creates arrays "on the fly" and automatically takes care of the array
- size and number of dimensions.
-
- Another unusual feature of MarxMenu arrays is that they are an array of
- MarxMenu variables. This means that elements of MarxMenu arrays need not
- be of the same type. Element 1 can be a number, element 2 can be a
- string and element 3 can be another array.
-
- This type of variable management leads to the easy creation of very
- powerful data structures as you will see.
-
- Var X
-
- X[1] = 'Element 1'
- X[2] = 3
- X[3] = True
- X[4,6] = 9
- X[4,7] = 'Ten'
-
-
-
- Computer Tyme MarxMenu Users Manual Page 33
- _______________________________________________________________
-
-
- These are all valid statements. MarxMenu creates a two dimensional array
- here. If we now execute the following statement:
-
- X[4] = X[4,6] + X[2]
-
- X[4] becomes equal to 12 but variables X[4,6] and X[4,7] are lost. This
- is because we have changed an array into a number. MarxMenu
- automatically handles the deallocation of memory used by this array and
- its elements and returns the space the used to the memory pool.
-
- ABOUT QUALIFIERS
- ABOUT QUALIFIERS
- ABOUT QUALIFIERS
-
- Qualifiers are named indexes into arrays. They are used to make the
- source menu file more readable and more organized.
-
- Suppose we are creating a data structure to deal with places in the
- United States. First we will need an array for States.
-
- Var States
-
- We want to store some facts about the states.
-
- Qualifier
- Population
- Bird
- Motto
- County
-
- State[3].Population = 10000000
- State[3].Bird = 'Chicken'
- State[3].Motto = 'Best politicians money can buy!'
-
- Now states have counties and counties have county seats, sheriffs, and
- cities.
-
- Qualifer
- Sheriff
- Seat
- City
-
- State[3].County[7].Sheriff = 'Buck InBred'
- State[3].County[7].Seat = 'Possum Trot'
-
- Now counties have cities and cities have schools, mayors, churches, and
- taxes.
-
- Qualifier
- Schools
- Mayor
- Churches
- Taxes
-
-
-
- Computer Tyme MarxMenu Users Manual Page 34
- _______________________________________________________________
-
-
- State[3].County[7].City[9].Schools = 8
- State[3].County[7].City[9].Mayor = 'Virgil Collins'
- State[3].County[7].City[9].Churches = 120
- State[3].County[7].City[9].Taxes = '$100,000,000'
-
- The above line is the same as:
-
- State[3,4,7,3,9,4] = '$100,000,000'
-
- As you can see with qualifiers, it is easy to create multidimensional
- arrays in a way that is organized and readable.
-
- In this example, the qualifier Population became equal to 1. Bird became
- equal to 2. The variable references, State[3].Bird and State[3,2] are
- the same. It's just that one is more readable than the other. Qualifiers
- normally begin by assigning 1 to the first name and 2 to the second
- etc. This can be modified.
-
- Qualifier
- Color = 7
- Size
- Shape
-
- In this case Color becomes the number 7; Size becomes the number 8; and
- Shape becomes the number 9.
-
- COMMENTS IN MENU FILES
- COMMENTS IN MENU FILES
- COMMENTS IN MENU FILES
-
- MarxMenu has three ways to add comments to a menu file. The first way is
- with the Comment command.
-
- Comment
- ========================
- This is a comment block.
- ========================
- EndComment
-
- All lines up to EndComment are ignored.
-
- The second way is with a ';'. All text to the right of the ';'
- (semicolon) is ignored.
-
- BlankTime = 20 ;this is where we set the blank time.
-
- The third way is using {} or curly braces. Anything inside the curly
- braces is ignored. Curly braces can be nested.
-
- {All of {this} is a comment.}
-
-
-
- Computer Tyme MarxMenu Users Manual Page 35
- _______________________________________________________________
-
-
- Comments are ignored by the compiler and cost you nothing in execution
- speed. Comments can save you a lot of time if you have to come back
- later and work on your menu, or if someone else has to work on it.
- Therefore, I encourage you to use comments as much as possible.
-
- THE MARXMENU COMPILER
- THE MARXMENU COMPILER
- THE MARXMENU COMPILER
-
- MarxMenu reads your MNU files and creates MRX files. These MRX files are
- a highly digested form of the MNU file that you created. MRX files are
- the compiled files.
-
- When you run MarxMenu, the interpreter MARXMENU.EXE looks for the menu
- file with the MRX extension. If it doesn't find it, MARXMENU.EXE will
- automatically load MARXCOMP.EXE and compile the menu. MARXMENU.EXE also
- compares the file dates of the MNU and the MRX files. If the MNU file is
- newer than the MRX file, the complier will be loaded.
-
- MarxMenu will also force a compile if the MRX file was not complied by
- the same version and release date of the MarxMenu you are using. MRX
- files are not compatible from one version of MarxMenu to the next.
-
- You can also force a compile from the command line by typing MARXCOMP
- <menu>. If you are on a network and using MarxMenu to log you in, make
- sure you run the complier if you change your login menu file.
-
- Once your menus are written, you can remove the MNU file and
- MARXCOMP.EXE from the system. This prevents anyone from modifying your
- menus. The MRX files are scrambled for security. This prevents probing
- eyes from reading strings in the MRX files.
-
- COMPILER COMPATIBILITY
- COMPILER COMPATIBILITY
- COMPILER COMPATIBILITY
-
- The MarxMenu compiler is fully compatible with earlier versions of
- MarxMenu with a few exceptions. The new compiler does a lot more error
- checking than earlier versions of MarxMenu and will catch errors that
- you used to get away with. Other than that, the only difference you
- should notice will be a speed increase.
-
- Earlier versions of MarxMenu had separate names for variable types. The
- names $VAR, BVAR, #VAR, and FILEVAR act the same as typing VAR.
-
- Very early versions of MarxMenu had a different form of the USEARROWS
- command that required 4 to 5 numbers after it. If you run into this
- error, just get rid of the numbers after USEARROWS and it will work
- fine.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 36
- _______________________________________________________________
-
-
- A WORD ABOUT DOS VERSIONS .....
- A WORD ABOUT DOS VERSIONS .....
- A WORD ABOUT DOS VERSIONS .....
-
- Versions of DOS below 3.3 will cause MarxMenu to use 3.5k of ram where
- 3.3 DOS and above use no memory. 3.2 DOS is very buggy and should be
- replaced. 3.1 DOS isn't too bad for bugs but if you're using the BACKUP
- and RESTORE programs that came with it, you're in trouble. They don't
- work on large files. You'll find that out if you try to restore one of
- them.
-
- MS-DOS 4.01 seems to be pretty clean provided you have the April-89
- release or later. To determine if you do, check the file date on
- COMMAND.COM. Earlier versions of DOS 4.01 have SERIOUS BUGS. If you are
- running any DOS 4 earlier than April-89 you should upgrade immediately.
-
- We are happy to announce that MarxMenu runs under DOS 5.0 with no
- problems and requiring no modifications. We are in the process of adding
- hooks to take advantage of new features of DOS 5. One feature
- implemented is the Idle Loop call which allows MarxMenu to conserve CPU
- power when it's not doing anything. This makes it work better under
- DesqView and Windows.
-
- DR-DOS or EZ-DOS are pretty good also. It is very compatible as long as
- you don't get too strange with it. I recommend version 3.4 or later.
- 4DOS is also pretty good but sometimes some of the advanced features in
- this product can cause it to behave differently than DOS. This requires
- extra care when writing your menus.
-
- MarxMenu should work correctly on 386 type multiuser operating systems
- such as Digital Research's Concurrent DOS 386 or SCO VPIX DOS emulators.
-
- MarxMenu will not run correctly under DesqView 2.26. It will run under
- 2.25 or 3.21. So if you are running 2.26, it needs to be upgraded.
- MarxMenu contains several support functions for DesqView.
-
- If you are running under some weird DOS and are having problems, try it
- under "regular" DOS and see if it goes away. If it does, try to find out
- what it is about your weird DOS that makes it not work right. I am
- interested in being compatible with as many systems as I can. Let me
- know if you are having problems. But also, try to get your wierd DOS
- vendors to clean up their act.
-
- A WORD ABOUT BUGS .....
- A WORD ABOUT BUGS .....
- A WORD ABOUT BUGS .....
-
- Although I try to create perfect bug free software, every now and then
- even I make a mistak. If you find one, let me know and I'll fix it.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 37
- _______________________________________________________________
-
-
- TIPS FROM THE MASTER
- TIPS FROM THE MASTER
- TIPS FROM THE MASTER
-
- Since MarxMenu is a programing language, I want to talk about what
- programing is and how it is accomplished. I want to dispel some myths
- and fears relating to it and introduce you to techniques that will help
- you write code neatly, quickly, and efficiently. From the outside,
- programming looks like magic; but once you know a few of the tricks, its
- really not too hard.
-
- Many of us who were raised on 50s and 60s science fiction television
- learned that it is the brainy types who deal with computers. It almost
- gives you the impression that the computer is smart and you are dumb. As
- you use the computer, it is evaluating you, and if it figures out that
- its smarter than you, it can get your job and replace you.
-
- COMPUTERS DO SIMPLE TASKS
- COMPUTERS DO SIMPLE TASKS
- COMPUTERS DO SIMPLE TASKS
-
- A computer is a simple device. It does simple tasks. It just does them
- very fast and accurately. Computers don't even know basic things like
- how to write letters on the screen or how to read the keyboard. These
- are programs that the computer runs. Someone had to program your
- computer to do even the simplest of tasks.
-
- As you learn to use MarxMenu start with the simple menus. The SAMPLE.MNU
- is a very easy program. Study it and understand how it works. Make a
- copy of it and change one selection to run one of your programs.
-
- Once you have changed one selection, change several more. Now MarxMenu
- is running your programs, and you have made it work. Then try something
- new. Add more selections. Change the size and position of the box to fit
- your needs.
-
- Take the time to play with it. Try new commands. Build up your menu. Be
- artistic. The more you work with it, the more you will learn.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 38
- _______________________________________________________________
-
-
- COMPLEX TASKS ARE MADE OF SIMPLE TASKS
- COMPLEX TASKS ARE MADE OF SIMPLE TASKS
- COMPLEX TASKS ARE MADE OF SIMPLE TASKS
-
- As you learn more about MarxMenu, move on to SAMPLE2.MNU. Here we use
- more of the power of the MarxMenu language. As you study this menu, you
- will notice something. Even though it looks complex, it is really a
- collection of simple tasks. Understand how the moving windows work.
- Understand that the pop-up menus are just like the main menu. You will
- see that it is really not a complex menu at all. It is a lot of simple
- processes hooked together.
-
- That is one of the main concepts behind programming. Complex tasks are
- built out of simple tasks. As you learn the simple tasks, you will
- quickly understand how to connect them to accomplish complex tasks.
-
- When one sees a castle, one can't help but to be impressed. But castles
- are made of stones. And you can't build castles until you understand how
- stones work. Then you realize that a castle is just a bunch of stones
- hooked together. Programming is just like that.
-
- To successfully understand MarxMenu, start at the bottom and work your
- way up. Each little trick you learn becomes another building block for
- the next trick. What you start with becomes the foundation for the work
- that you will eventually produce.
-
- LEARNING GOOD PROGRAMMING HABITS
- LEARNING GOOD PROGRAMMING HABITS
- LEARNING GOOD PROGRAMMING HABITS
-
- Programming has its pitfalls, here I hope to give you some tips that
- will help you avoid common mistakes. This, I hope will give you a head
- start on the road to MarxMenu being done right.
-
- The first concept is patience. Rome wasn't built in a day. You may not
- be able to write grand and glorious menus the first try. In fact, you
- may have trouble getting the damn thing to work at all. As you have
- probably already noticed, no program is perfect. Sometimes there are
- errorrs in the manual. Sometimes it just doesn't work like you expected,
- or does not work the same way as other programs that are familiar to
- you.
-
- But, once you complete the installation, give it some time and realize
- that there is a lot of potential here. Approach all challenges with a
- good attitude.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 39
- _______________________________________________________________
-
-
- USE LONG NAMES
- USE LONG NAMES
- USE LONG NAMES
-
- I learned computers the hard way. Out on the streets. Hanging around
- with other computer nerds in the late 70s who never went to college
- either. I was known as a Bit Wit. My first real computer was an IMSAI
- kit. Actually, it wasn't all IMSAI, it was a combination of several kits
- where no two boards came from the same supplier. It was in an IMSAI box,
- so I call it an IMSAI.
-
- It was all supposed to work together the salesman told me the day before
- they went out of business. And it all did after some redesigning. I was
- tired of fixing CB radios for a living and decided that computers were
- here to stay and that I was going to learn about them.
-
- With that in mind, everything that went wrong became an opportunity for
- growth. Not that I looked forward to things not working. I programmed
- the thing from scratch, loading binary codes into memory from an array
- of switches on the front panel.
-
- The first program I wrote ran the EPROM burner, which was the only
- storage device I had. After I saved this program on a chip, I used it to
- load the second program onto the chip.
-
- Eventually I wrote enough software to talk to the screen and keyboard.
- Now I could type hex codes on the screen and save them to a chip.
- Eventually I wrote a tape driver and could save stuff on tape. Later, I
- traded for a North Star disk drive and had a disk system. One 90k
- floppy. I thought I was in heaven.
-
- I was intimately familiar with my computer. All my programs were in
- object code with no documentation whatsoever. At that point, a friend of
- mine, Rufus, turned me on to a language called FORTH.
-
- Being an interesting language and very powerful, I typed in the whole
- compiler in hex and adapted it to work on my system. Once I got Forth
- up, I wrote a line editor in it. I then used the line editor to write a
- screen editor. With the screen editor, I rewrote Forth in Forth. The
- language compiled itself.
-
- From working with Forth (which is as much a religion as a programming
- language) I learned both good and bad habits. Forth is a write only
- language and is almost impossible to read even with the best of
- documentation. On the other hand, it is as close to the machine as you
- can get in a high level language.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 40
- _______________________________________________________________
-
-
- After opening up a computer store in 1984, it became time to make the
- jump from CP/M to the DOS world. Turbo Pascal offered an interesting
- solution. They had both a CP/M and DOS compiler. This meant that
- programs I wrote would run on both machines. The thing that struck me
- about Pascal was that I could read it better than Forth, and I didn't
- even know the language. Not only that, but I could follow the programs
- that other people wrote and incorporate their code into my programs.
-
- The more programs I wrote, the more I came to appreciate a language that
- was reader friendly. I could manage my programs much easier without
- having to remember so much. Other people could follow what I was doing
- easier.
-
- The important thing I learned was that readability is very important in
- a program. The more complex the program, the more important readability
- becomes.
-
- One of the main design factors in the MarxMenu language is readability.
- I could have used short names for my commands and it's not like I like
- to type. I'm still on just two fingers here. Its just that descriptive
- names are so much more meaningful when putting simple processes together
- to create complex processes.
-
- The point (finally) is, when creating variable names, or procedure
- names, use long meaningful names. It may take more typing, but it takes
- a lot less thinking and remembering later on. Consider the following
- example in choosing variable names.
-
- Var KlingonsDestroyedInBattle
- Var K
-
- In the above example, it is obvious which one tells you more about what
- information is stored in the variable.
-
- USE COMMENTS LIBERALLY
- USE COMMENTS LIBERALLY
- USE COMMENTS LIBERALLY
-
- Even though MarxMenu is easy to read, it still should be commented. The
- examples that come with this disk do not have as many comments as they
- should. Don't do as I do, do as I say. I'm lazy and a bad example.
-
- Comments are not compiled in your MRX files and cost you nothing at
- execution time. In order to make commenting easy, I have provided three
- separate comment commands. Learn these commands first.
-
- Every menu should include a title comment. This should include the name
- and phone number of the person who wrote it. If you have a problem with
- a menu and you send it to me, I expect a title comment. That way I can
- call you about it.
-
- Comment
- ====================================================================
-
-
-
- Computer Tyme MarxMenu Users Manual Page 41
- _______________________________________________________________
-
-
- This comment was created by Marc Perkel 1-417-866-1222
-
- Last Updated: 01-28-90
-
- This form of comment block is better than using ';' because not using ;
- allows you to turn your word wrap feature on and do some professional
- looking editing in the comment block. This kind of comment block should
- be at the beginning of each and every menu you create.
-
- The top and bottom bars are for looks only and are not necessary to the
- comment. I strongly encourage you to use bars and do things for looks
- in source code. Looks are very important and you should put as much
- care into your comments as you do in writing a business letter.
-
- If you learn MarxMenu well, your source code may be part of your next
- job interview as you move up the corporate ladder. So you want it to
- look good.
-
- By the way, if you upload your menus to my bulleten board, I expect a
- comment block at the top of your menu with your phone number so I can
- get back to you.
-
- ====================================================================
- EndComment
-
- INDENT YOUR CODE
- INDENT YOUR CODE
- INDENT YOUR CODE
-
- As programs get more complex, it gets harder to match the IFs with the
- ELSEs and the ENDIFs. This is where indenting comes in. It creates a
- logical grouping of statements and you can easily see what goes with
- what.
-
- Procedure IfDemo
- IF <condition>
- <statement>
- <statement>
- ELSE
- <statement>
- <statement>
- WHILE <condition>
- <statement>
- <statement>
- ENDWHILE
- <statement>
- ENDIF
- <statement>
- EndProc
-
-
-
- Computer Tyme MarxMenu Users Manual Page 42
- _______________________________________________________________
-
-
- You can easily see how this helps you follow what you are writing. Now
- here's a new trick. If you are using an IF, and plan to use an ELSE and
- an ENDIF, on the line under the IF statement, type in your ELSE and
- ENDIF lines. Then go back and insert your statements in between these
- lines. This will help you avoid forgetting the ENDIF or getting mixed up
- as to which IF matches which ELSE.
-
- A similar trick can be done with parens and brackets. When typing a left
- paren, type the matching right paren with it. Then fill in the code you
- want to put inside the parens or brackets.
-
- FOR DUPLICATE TASKS, USE PROCEDURES
- FOR DUPLICATE TASKS, USE PROCEDURES
- FOR DUPLICATE TASKS, USE PROCEDURES
-
- As menus become longer and more complex, many times you are duplicating
- a process that you already have written. Although it is easy to copy a
- block of code, it is better to create a procedure.
-
- With procedures, the process is put in one place and is given a name.
- Preferably a long meaningful name. Once this procedure is defined and
- named, it can be used as if it were part of the MarxMenu language. This
- makes menus smaller and easier to read. It is also a way for you to
- combine small processes into large processes. Procedures can be built
- using other procedures.
-
- Once you have a process figured out and working in a procedure, the
- whole process becomes a black box with a name that you can use
- elsewhere. The whole process is reduced down to a name that just works!
-
- Another advantage of procedures is that if circumstances change and the
- procedure needs to be modified, you only make a change one place in your
- menus, and everything that uses that procedure is automatically changed.
- This makes menu maintenance easier.
-
- DON'T PROGRAM YOURSELF INTO A CORNER
- DON'T PROGRAM YOURSELF INTO A CORNER
- DON'T PROGRAM YOURSELF INTO A CORNER
-
- Using the above techniques will allow you to write very complex menu
- systems. Failing to use these techniques can limit what you can
- accomplish. There is a term called "programming yourself into a corner"
- which refers to a program that is so poorly written, that it can't be
- modified to accommodate changes and improvements.
-
- The height of your programming abilities depends on the foundation on
- which they are built. You must avoid rushing to the top without first
- creating a firm foundation on which to build. Good technique is the
- foundation for good programming. You will have to learn it eventually,
- it is more efficient to do it right than it is to do it over.
-
- Adopting good programming habits reminds me of my favorite light bulb
- joke:
-
- Q. How many psychologists does it take to change a light bulb?
-
-
-
- Computer Tyme MarxMenu Users Manual Page 43
- _______________________________________________________________
-
-
- A. Only one, but the light bulb has to want to change.
-
- A WORD TO WRITERS AND REVIEWERS
- A WORD TO WRITERS AND REVIEWERS
- A WORD TO WRITERS AND REVIEWERS
-
- MarxMenu is a multi-level product fulfilling the needs of a large
- variety of computer users. It is difficult to compare this product on a
- feature to feature basis. This is because MarxMenu has about 10 times as
- many features as any other menu system. These features allow this
- product to target a very broad variety of computer users, from the
- novice user, who will only use the LEVEL1 menu, to large companies with
- hundreds of file servers controlled through the MarxMenu language.
-
- One common mistake that writers make when evaluating MarxMenu, is in the
- area of ease of use. If you are looking for ease of use, stick with the
- simple menus and the self-configuring menus such as the LEVEL1 example.
- By looking at it this way, MarxMenu will be as easy to use as any other
- menus system out there and can be compared for similar features. Even
- though MarxMenu supports complex commands, it is not necessary to use
- them in simple menus.
-
- If you are doing a comparative review, please let me know on what basis
- you are making comparisons. This way I can assist you by providing you
- accurate information in the area of your interest. If you are looking
- for simple, I can show you simple; if you are looking for power, I can
- show you power.
-
- On the other hand, if you are reviewing power tools and network
- utilities, you might want to look at the Network Survival Kit and not
- just MarxMenu. So if you have a copy of only this program, give me a
- call and I'll get you the latest and greatest.
-
- In addition to our software, we also have color prints and color slides
- available as well as product literature and sample reviews. These are
- available to make your job easier and help you make those deadlines.
-
- MarxMenu tends to be best reviewed as a long article rather than a short
- one. It is very good if you have a lot of space to fill. With a long
- article, you can get really in depth with what MarxMenu is able to do.
-
- Any publication which reviews any of my products gets a site license to
- that product whether I like the review or not. Our position is that if
- you are using MarxMenu yourself, you will get to know it better.
-
- So far, as of the date I write this, no writer has written an article
- about MarxMenu that I feel covered what this product is really capable
- of doing. Consider this a challenge.
-
- Any questions you have about any of my products, feel free to call. The
- main thing I ask is that you get the product name, price, our address,
- and our phone number right.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 44
- _______________________________________________________________
-
-
- USING MARXHELP
- USING MARXHELP
- USING MARXHELP
-
- MarxHelp is a TSR pop-up help program for MarxMenu. It acts as an online
- reference guide to all of the MarxMenu commands. MarxHelp only takes 8k
- of ram and is very useful while writing your MarxMenu applications.
-
- To load MarxHelp type MARXHELP at the command line. Then if you want to
- pop-up an index press Shift-F3. The Shift-F2 key will repeat your last
- help topic and Shift-F1 will look up the word your cursor is on.
-
- To get more help on MarxMenu type MarxHelp /?. If you need to unload
- MarxHelp from memory, type MarxHelp /U.
-
- MarxHelp comes with the Computer Tyme Network Survival Kit. It can also
- be downloaded from our support BBS. It does not come bundled with the
- single user version.
-
- PRINTING THE EXAMPLE FILES
- PRINTING THE EXAMPLE FILES
- PRINTING THE EXAMPLE FILES
-
- MarxMenu comes with several example programs from simple to complex. The
- first thing to do is print the sample menus and study them. Start with
- the easy ones. You may never need to use any of the more complex ones,
- but if you do, a large variety of advanced techniques are demonstrated.
-
- By studying the sample menus, and comparing them to this manual, it
- should be fairly easy to become productive writing your own menus.
-
- SECURITY ISSUES
- SECURITY ISSUES
- SECURITY ISSUES
-
- Different users have different security need that range from none to
- extreme. If you are in the nine category, then you can skip this
- chapter. But if you need all the security you can get, then read on.
-
- First of all, DOS is not a secure operating system. There are various
- third party programs out there but what I'm going to cover here is how
- to make DOS secure as possible working with what you get with DOS.
-
- The first thing to do is add the command BREAK=OFF to your CONFIG.SYS
- file. This prevents programs from breaking out of batch files. Avoid
- using commands that are internal DOS commands like DIR from inside a
- menu or inside batch files. Use the D.EXE program instead.
-
- Use the LockWord option in the screen blanker so that if a menu is left
- unattended, it will not be accessable to just anyone walking up to a
- machine. The LockWord command requires the user type a password to
- release the screen blanker. If you are on a Novell network, you can use
- the UseNovPassword command. This forces the user to type their Novell
- password to unblank the screen.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 45
- _______________________________________________________________
-
-
- If a menu choice access sensitive materials, then put a password on it.
- Also, make sure the SUPERVISOR user has a password. There are many times
- I've walked up to a server and logged in as supervisor and got right in.
- Make sure that intruder detection is set on. If you don't know what
- intruder detection is, read the Novell manuals.
-
- You can also use the LogoffTime command to log users off the network
- after a given amount of inactivity. This also helps kick people off so
- that you can upgrade MarxMenu from time to time. (MARXMENU.EXE can't be
- copied over on a network unless all users are out of the menu.)
-
- If you have applications that allow you to shell to DOS, you can prevent
- them from getting to DOS by changing your COMSPEC to point to something
- other than COMMAND.COM. You could also rename COMMAND.COM in case a
- program is looking for this file by name.
-
- Another defense is to lock the door to the computer room at night and
- teach employees security policies and make sure they use them.
-
- If you are on a network, buy diskless workstations. People can't copy
- files on or off a network that doesn't have a disk drive. It helps keep
- viruses off your server and lets the network administrators control what
- is and isn't on the network.
-
- MARXMENU COMMANDS
- MARXMENU COMMANDS
- MARXMENU COMMANDS
-
- MarxMenu contains a rich set of commands. They are listed here
- alphabetically and by command category. You don't have to learn them all
- so don't let the size of the list scare you.
-
- In the following command list, words contained within ( ) are command
- parameters that must be included after the menu command. If the
- parameter is not required, it will be contained in [ ]. The numeric
- range for the <column> parameter is 1 - 80 decimal, and for the <row>
- parameter the range is 1 - 25, 43, or 50 decimal depending on how many
- lines your monitor displays.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 46
- _______________________________________________________________
-
-
- | (Vertical Bar)
- | (Vertical Bar)
- | (Vertical Bar)
- Forces MarxMenu interpretation under an OnKey Command. If not for the |
- (Vertical Bar), the command under an OnKey would be written to a batch
- file. The | is only used under OnKey commands.
-
- Example:
- OnKey 'S'
- |password 'hello' 3 4
- ECHO Type EXIT to return to menu
- COMMAND.COM
-
- OnKey 'X'
- |if UpperCase(ReadEnv('USERNAME')) = 'SUPERVISOR'
- SYSCON
- |else
- | SecurityBreach('You do not have access to this function!')
- |endIf
-
- Category: Misc
-
- ( : Operator
- ( : Operator
- ( : Operator
- Starts logical interpreter grouping.
-
- Used to force evalution of an expression.
-
- Example:
- 2 * 3 + 2 evaluates to 8
- 2 * ( 3 + 2 ) evaluates to 10
-
- Category: Misc
-
- ) : Operator
- ) : Operator
- ) : Operator
- Ends logical interpreter grouping.
-
- See Also: (
-
- Category: Misc
-
- * : Operator
- * : Operator
- * : Operator
- Multiplies two numbers.
-
- Category: Math, Float
-
-
-
- Computer Tyme MarxMenu Users Manual Page 47
- _______________________________________________________________
-
-
- + : Operator
- + : Operator
- + : Operator
- Adds two numbers or two strings.
-
- Example:
- "Hello" + " " + "World" = "Hello World"
- 2 + 2 = 4
-
- Category: Math, String, Float
-
- - : Operator
- - : Operator
- - : Operator
- Subtracts two numbers.
-
- Category: Math, Float
-
- / : Operator
- / : Operator
- / : Operator
- Divides two numbers.
-
- Category: Math, Float
-
- < : Operator
- < : Operator
- < : Operator
- Less Than - Compares two numbers or strings.
-
- Category: Math, String, Float
-
- <= : Operator
- <= : Operator
- <= : Operator
- Less Than or Equal - Compares two numbers or strings.
-
- Category: Math, String, Float
-
- <> : Operator
- <> : Operator
- <> : Operator
- Not Equal - Compares two numbers or strings.
-
- Category: Math, String, Float
-
- = : Operator
- = : Operator
- = : Operator
- Equal - Compares two numbers or strings.
-
- Category: Math, String, Float
-
- > : Operator
- > : Operator
- > : Operator
- Greater Than - Compares two numbers or strings.
-
- Category: Math, String, Float
-
- >= : Operator
- >= : Operator
- >= : Operator
- Greater Than or Equal - Compares two numbers or strings.
-
- Category: Math, String, Float
-
-
-
- Computer Tyme MarxMenu Users Manual Page 48
- _______________________________________________________________
-
-
- %MenuFileName : String
- %MenuFileName : String
- %MenuFileName : String
- This returns the name of the current menu file including the complete
- path. It can be used under an OnKey statement to edit the current menu
- as follows:
-
- Example:
- OnKey 'E'
- EDIT %MenuFileName
-
- Category: String
-
- Abs : Number
- Abs : Number
- Abs : Number
- Returns the absolute value of a number. The absolute value is the value
- of the number without the sign.
-
- Example:
- Abs(-6) returns 6
-
- Category: Math, Float
-
- Alias
- Alias
- Alias
- Alias <name> = <string>
- This is a compiler level text substitution command. When <name> is
- defined as <string> whenever you use <name> its the same to the compiler
- as if <string> were typed there.
-
- Example:
- Alias TwoPlusThree = "(2 + 3)"
- .
- .
- .
- 2 * TwoPlusThree = 10
- .
- Writeln TwoPlusThree
-
- Writeln TwoPlusThree is the same as Writeln (2 + 3)
-
- Category: Misc
-
- And : Operator
- And : Operator
- And : Operator
- Returns logical And if operators are boolean; or bitwise And if
- operators are numeric.
-
- Category: Math, Boolean
-
-
-
- Computer Tyme MarxMenu Users Manual Page 49
- _______________________________________________________________
-
-
- ApplicationMemory : Number
- ApplicationMemory : Number
- ApplicationMemory : Number
- Returns the number of bytes of memory available to an application when
- MarxMenu exits out to the MARX.BAT file. This is the actual amount of
- ram available to your application.
-
- See Also: FreeMemory
-
- Category: Memory
-
- Apr : Number
- Apr : Number
- Apr : Number
- April, returns the number 4.
-
- Category: Time
-
- ArcTan (Radians) : Real
- ArcTan (Radians) : Real
- ArcTan (Radians) : Real
- Returns the ArcTangent of a real.
-
- Category: Math, Float
-
- Aug : Number
- Aug : Number
- Aug : Number
- August, returns the number 8.
-
- Category: Time
-
- BadDate : Boolean
- BadDate : Boolean
- BadDate : Boolean
- Set to true if you try to convert a string to a date and the date is
- invalid.
-
- See Also: TimeOf
-
- Category: Time
-
- Bat (string)
- Bat (string)
- Bat (string)
- Used to write a line to the batch file the same way OnKey does. All the
- same rules apply. The batch file is created when the menu exits.
- MarxMenu exits with ErrorLevel 0 unless some other value has been
- specified using the ExitCode command.
-
- Example:
- OnKey 'D'
- |BAT "command /c dir a:"
- |ExitMenu
-
- See Also: OnKey
-
- Category: Execution
-
-
-
- Computer Tyme MarxMenu Users Manual Page 50
- _______________________________________________________________
-
-
- BatFileName : String
- BatFileName : String
- BatFileName : String
- Returns the name of the batch file that MarxMenu would create if
- MarxMenu were to create a batch file automatically.
-
- Category: String
-
- BigShadow
- BigShadow
- BigShadow
- Selects big shadow type. This is the default shadow.
-
- See Also: SmallShadow, ShadowPosition, ShadowColor
-
- Category: Display
-
- Black : Number
- Black : Number
- Black : Number
- Returns the number 0.
-
- Category: Color
-
- Blanked : Boolean
- Blanked : Boolean
- Blanked : Boolean
- Returns true if the screen blanker has kicked it. This lets you alter
- your idel program based on if the screen blanker is active.
-
- Category: Display
-
- BlankMessage (string)
- BlankMessage (string)
- BlankMessage (string)
- When the screen blanks out, this one line message is displayed. If
- BlankMessage is not set, the date and time will be displayed.
-
- See Also: ConsolePos
-
- Category: String
-
- BlankTime (minutes)
- BlankTime (minutes)
- BlankTime (minutes)
- Sets the number of minutes before the screen blanks out to prevent
- screen burn. Since this is not a resident program, screen blanking is
- only active while the menu system is active. Setting BlankTime to 0
- prevents screen blanking.
-
- Example:
- Set ConsolePos
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 51
- _______________________________________________________________
-
-
- Blink : Boolean
- Blink : Boolean
- Blink : Boolean
- Blink is a boolean variable that when set to true allows you to specify
- colors that will blink. To make a color that blinks, set the background
- color to a bright color. A bright color is a color from 8 to 15.
-
- Normally, when Blink is off, MarxMenu strips the high bit of the colors.
- When Blink is on, high bit stripping is disabled.
-
- Example:
- Blink
- TextColor Green LRed
-
- Because the background color is light red, the text will blink.
-
- Warning: Blinking characters can cause headaches and eye strain. I
- resisted adding this feature for a long time because I personally hate
- excessive blinking characters on the screen. I now recognize that
- blinking can be very effective when used correctly. Please use blinking
- sparingly.
-
- Category: Color
-
- BlockBox
- BlockBox
- BlockBox
- Selects block type box for menu borders.
-
- See Also: SingleLineBox, DoubleLineBox, CustomBox, NoBoxBorder
-
- Category: Display
-
- Blue : Number
- Blue : Number
- Blue : Number
- Returns the number 1.
-
- Category: Color
-
- BoxBorderColor (forecolor,backcolor)
- BoxBorderColor (forecolor,backcolor)
- BoxBorderColor (forecolor,backcolor)
- Sets colors for box border.
-
- Category: Color
-
-
-
- Computer Tyme MarxMenu Users Manual Page 52
- _______________________________________________________________
-
-
- BoxHeader (string)
- BoxHeader (string)
- BoxHeader (string)
- Sets the center header message for the next box displayed. This command
- is used before the DrawBox command.
-
- Example:
- BoxHeader ' Main Choices '
- DrawBox (25,6,30,9)
-
- See Also: BoxHeaderLeft, BoxHeaderRight
- See Also: BoxFooter, BoxFooterLeft, BoxFooterRight
-
- Category: Display
-
- BoxHeaderColor (forecolor,backcolor)
- BoxHeaderColor (forecolor,backcolor)
- BoxHeaderColor (forecolor,backcolor)
- Sets colors for the box headers and box footers.
-
- Category: Color
-
- BoxHeaderLeft (string)
- BoxHeaderLeft (string)
- BoxHeaderLeft (string)
- Sets the left header message for the next box displayed. This command is
- used before the DrawBox command.
-
- Example:
- BoxHeaderLeft ' Main Choices '
- DrawBox (25,6,30,9)
-
- See Also: BoxHeader, BoxHeaderRight
- See Also: BoxFooter, BoxFooterLeft, BoxFooterRight
-
- Category: Display
-
- BoxHeaderRight (string)
- BoxHeaderRight (string)
- BoxHeaderRight (string)
- Sets the right header message for the next box displayed. This command
- is used before the DrawBox command.
-
- Example:
- BoxHeaderRight ' Main Choices '
- DrawBox (25,6,30,9)
-
- See Also: BoxHeader, BoxHeaderLeft
- See Also: BoxFooter, BoxFooterLeft, BoxFooterRight
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 53
- _______________________________________________________________
-
-
- BoxFooter (string)
- BoxFooter (string)
- BoxFooter (string)
- Sets the center footer message for the next box displayed. This command
- is used before the DrawBox command.
-
- Example:
- BoxFooter ' Main Choices '
- DrawBox (25,6,30,9)
-
- See Also: BoxHeader, BoxHeaderLeft, BoxHeaderRight
- See Also: BoxFooterLeft, BoxFooterRight
-
- Category: Display
-
- BoxFooterLeft (string)
- BoxFooterLeft (string)
- BoxFooterLeft (string)
- Sets the left footer message for the next box displayed. This command is
- used before the DrawBox command.
-
- Example:
- BoxFooterLeft ' Main Choices '
- DrawBox (25,6,30,9)
-
- See Also: BoxHeader, BoxHeaderLeft, BoxHeaderRight
- See Also: BoxFooter, BoxFooterRight
-
- Category: Display
-
- BoxFooterRight (string)
- BoxFooterRight (string)
- BoxFooterRight (string)
- Sets the right footer message for the next box displayed. This command
- is used before the DrawBox command.
-
- Example:
- BoxFooterRight ' Main Choices '
- DrawBox (25,6,30,9)
-
- See Also: BoxHeader, BoxHeaderLeft, BoxHeaderRight
- See Also: BoxFooter, BoxFooterLeft
-
- Category: Display
-
- BoxInsideColor (forecolor,backcolor)
- BoxInsideColor (forecolor,backcolor)
- BoxInsideColor (forecolor,backcolor)
- Sets colors for box interior.
-
- Category: Color
-
- Brown : Number
- Brown : Number
- Brown : Number
- Returns the number 7.
-
- Category: Color
-
-
-
- Computer Tyme MarxMenu Users Manual Page 54
- _______________________________________________________________
-
-
- BW40 : Number
- BW40 : Number
- BW40 : Number
- Returns the number 0. Relates to the DOS Mode BW40 command.
-
- Category: Video
-
- BW80 : Number
- BW80 : Number
- BW80 : Number
- Returns the number 2. Relates to the DOS Mode BW80 command.
-
- Category: Video
-
- CapsColor (forecolor,backcolor)
- CapsColor (forecolor,backcolor)
- CapsColor (forecolor,backcolor)
- Setting CapsColor allows capital letters and numbers to be a different
- color than the rest of the text. This is used with the UseArrows command
- to show which character is the one that selects the options in the
- window. CapsColor is reset after any TextColor command, so be sure to
- use CapsColor AFTER TextColor commands.
-
- For this option the numbers 0 - 9 and some punctuation characters are
- considered capitals.
-
- See Also: DrawBox
-
- Category: Color
-
- CapsLock : Boolean
- CapsLock : Boolean
- CapsLock : Boolean
- Returns true if Caps Lock is on. This command can also set the Caps Lock
- on and off.
-
- Example:
- if CapsLock then Write 'CapsLock is On'
-
- CapsLock On ;Turns CapsLock On
- CapsLock Off ;Turns CapsLock Off
-
- CapsLock (by itself) turns CapsLock On.
-
- See Also: ScrollLock, NumLock
-
- Category: System
-
- Chain (MenuName)
- Chain (MenuName)
- Chain (MenuName)
- This command will load a new menu. Unlike Jump, MarxMenu stays in
- memory. The screen is not cleared. If the new menu has exactly the same
- global variables, the contents of all global variables is retained.
- Chain allows for a very quick transfer from one menu to another.
-
- Example:
- Chain ('USER') ;Chains to USER.MNU
-
- Category: Execution
-
-
-
- Computer Tyme MarxMenu Users Manual Page 55
- _______________________________________________________________
-
-
- Char (number) : String
- Char (number) : String
- Char (number) : String
- Converts a number into a one character string.
-
- Example:
- Write (Char(65)) ;This will display 'A'
-
- Category: String
-
- ChDir (string)
- ChDir (string)
- ChDir (string)
- Changes directories. The variable FileResult can be tested to see if it
- was successful. ChDir can also be used to change drives.
-
- Example:
- ChDir( 'C:\HOME\MARXMENU' )
- ChDir( 'B:' ) ; Will make drive B: the current drive
-
- Category: File
-
- CleanFileName (string) : String
- CleanFileName (string) : String
- CleanFileName (string) : String
- Returns the full path name or directory name of a string. It also
- removes occurrences of a '\\' in the string. Thus the command: String =
- CleanFileName('a:\' + '\main.mnu') sets String to 'A:\MAIN.MNU'.
- CleanFileName also removes extra ending '\' and capitalizes the path.
-
- Category: String
-
- ClearLine [char]
- ClearLine [char]
- ClearLine [char]
- Clears the current line in the current window. The optional parameter is
- for the decimal number of the IBM graphics character. If [char] is
- present, the line will be filled with the character.
-
- Examples:
- ClearLine ;Clears screen with blanks
- ClearLine 205 ;Clears screen with char 205
-
- Category: Display
-
- ClearScreen [char]
- ClearScreen [char]
- ClearScreen [char]
- Clears the screen. The optional parameter is the decimal number
- equivalent for an IBM graphics character. If [char] is present, the
- screen will be filled with [char].
-
- Examples:
- ClearScreen ;Clears screen with blanks
- ClearScreen 177 ;Clears screen with char 177
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 56
- _______________________________________________________________
-
-
- ClearScreenFirst (on/off)
- ClearScreenFirst (on/off)
- ClearScreenFirst (on/off)
- Used in conjunction with Execute. If on, will clear the screen before
- running the program.
-
- Example:
- OnKey 'D'
- |ClearScreenFirst On
- |Execute 'C:\DM.COM'
-
- The default is ON.
-
- Category: Execution
-
- ClearScreenOnExit (on/off)
- ClearScreenOnExit (on/off)
- ClearScreenOnExit (on/off)
- Controls whether or not the screen is cleared on menu exit. Default on.
-
- Category: Display
-
- ClockColor (forecolor,backcolor)
- ClockColor (forecolor,backcolor)
- ClockColor (forecolor,backcolor)
- Sets colors for the on screen clock.
-
- Category: Color
-
- ClockMode
- ClockMode
- ClockMode
- ClockMode is a variable whose bits control the format of the on screen
- clock when it is used.
-
- ClockMode Bits:
- ---------------
- 0 24 hour mode
- 1 AmPm On
- 2 Show Seconds
- 3 UpperCase
- 4 3 char month
- 5 3 char Day of Week
- 6 Show Day of Week
- 7 Dash = 0 Slash = 1 MM-DD-YY or MM/DD/YY
- 8 Long Date
-
- Bit 0 on sets hours display to 24 hour mode.
- Bit 1 turns on the Am/Pm display.
- Bit 2 on controls if time is shown as HH:MM:SS or just HH:MM.
- Bit 3 shows date in only upper case.
- Bit 4 on shows month in 3 characters.
- Bit 5 shows Day of week as 3 characters.
- Bit 6 controls if Day of week is displayed.
- Bit 7 controls if date is shown as MM-DD-YY or MM/DD/YY.
- Bit 8 shows date in text. (October 3, 1990).
-
- The default ClockMode is 326.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 57
- _______________________________________________________________
-
-
- Category: Display
-
- ClockPos (column,row)
- ClockPos (column,row)
- ClockPos (column,row)
- Puts a clock on the screen at location (column,row). The command
- ClockPos 0 0 turns the clock off.
-
- Category: Display
-
- ClosePrinter
- ClosePrinter
- ClosePrinter
- In MarxMenu the printer is just another text file. Closing the printer
- is not required for ordinary printing. If you are changing printers you
- need to run ClosePrinter before changing the printer name. The printer
- is automatically opened by MarxMenu any time you print anything.
-
- If you are running Windows or DesqView, closing the printer allows other
- programs to access the printer. So if you are running under any
- multitasking shell, be sure to close the printer when you are done with
- it.
-
- If you are using a network like Novell, ClosePrinter will end the print
- job and send it to the print queue. This avoids the need to wait for
- print capture timouts to take effect.
-
- Closing the printer is good programming practice and will help you stay
- out of trouble. It's like what your mother taught you. "When you're done
- with something, put it away."
-
- See Also: OpenPrinter, PrinterName
-
- Category: Printer
-
- ClusterSize <drive> : Number
- ClusterSize <drive> : Number
- ClusterSize <drive> : Number
- Returns cluster size in bytes.
-
- Example:
- Writeln (ClusterSize 'C')
-
- ClusterSize only looks at the first character of the string for the
- drive letter.
-
- Category: System
-
- CmdLine : String
- CmdLine : String
- CmdLine : String
- System string variable that returns the rest of the command line after
- the menu name.
-
- Category: String
-
-
-
- Computer Tyme MarxMenu Users Manual Page 58
- _______________________________________________________________
-
-
- CO40 : Number
- CO40 : Number
- CO40 : Number
- Returns the number 1. Relates to the DOS Mode CO40 command.
-
- Category: Video
-
- CO80 : Number
- CO80 : Number
- CO80 : Number
- Returns the number 3. Relates to the DOS Mode CO80 command.
-
- Category: Video
-
- ColorScreen : Boolean
- ColorScreen : Boolean
- ColorScreen : Boolean
- Returns true if screen is a color screen. Note: Running MODE BW80 will
- cause ColorScreen to return false.
-
- Example:
- If ColorScreen
- ;Color
- TextColor( White, Blue )
- Else
- ;Monochrome
- TextColor( White, Black )
- EndIf
-
- Category: Video
-
- Comment
- Comment
- Comment
- Starts a Comment Block. All text is ignored until EndComment is
- encountered.
-
- Example:
- Comment
- =======================================
-
- Everything between Comment and EndComment is ignored.
-
- =======================================
- EndComment
-
- See Also: EndComment
-
- Category: Misc
-
- Console (On/Off)
- Console (On/Off)
- Console (On/Off)
- The command Console Off will disable access to the console.
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 59
- _______________________________________________________________
-
-
- ConsoleBorderColor (Color,Color)
- ConsoleBorderColor (Color,Color)
- ConsoleBorderColor (Color,Color)
- Sets the color of the console border.
-
- Example:
- See Also: ConsolePos
-
- Category: Color
-
- ConsoleHeaderColor (Color,Color)
- ConsoleHeaderColor (Color,Color)
- ConsoleHeaderColor (Color,Color)
- Sets the color of the console header.
-
- See Also: ConsolePos
-
- Category: Color
-
- ConsoleInsideColor (Color,Color)
- ConsoleInsideColor (Color,Color)
- ConsoleInsideColor (Color,Color)
- Sets the color of the console inside.
-
- See Also: ConsolePos
-
- Category: Color
-
- ConsolePos (column,row)
- ConsolePos (column,row)
- ConsolePos (column,row)
- Sets the coordinates of the pop-up console menu.
-
- Example:
- ConsoleBorderColor( White,Blue )
- ConsoleHeaderColor( Yellow,Blue )
- ConsoleInsideColor( Yellow,Blue )
- ConsolePos( 5,5 ) ; Column 5, Row 5
-
- Category: Display
-
- Const
- Const
- Const
- Creates a constant.
-
- See Also: Var, Shared, Qualifier
-
- Category Variable
-
- Cos (Radians) : Real
- Cos (Radians) : Real
- Cos (Radians) : Real
- Returns the CoSine of a real.
-
- Category: Math, Float
-
-
-
- Computer Tyme MarxMenu Users Manual Page 60
- _______________________________________________________________
-
-
- CurrentEnvironment
- CurrentEnvironment
- CurrentEnvironment
- CurrentEnvironment selects the current environment for use with
- environment access commands.
-
- See Also: ReadEnv SetEnv ReadEnvironment ShellEnvironment
- See Also: ParentEnvironment MasterEnvironment
-
- Category: Environment
-
- CurrentWindow : Number
- CurrentWindow : Number
- CurrentWindow : Number
- Returns the number of the current window. All windows are given a unique
- number.
-
- See Also: SetTopWindow
-
- Category: Display
-
- Cursor (On/Off)
- Cursor (On/Off)
- Cursor (On/Off)
- MarxMenu automatically turns the cursor on for certain kinds of input.
- Using Cursor Off prevents MarxMenu from turning the cursor on. Cursor On
- reverses this and allows MarxMenu to turn the cursor on when needed.
-
- Category: Display
-
- CustomBox (String)
- CustomBox (String)
- CustomBox (String)
- Selects a Box border using an 8 character string to define the sides and
- the corners.
-
- Example:
- CustomBox ('12345678') ;This will help you figure out what
- ;position matches which side.
-
- See Also: SingleLineBox, DoubleLineBox, BlockBox, NoBoxBorder
-
- Category: Display
-
- Cyan : Number
- Cyan : Number
- Cyan : Number
- Returns the number 3.
-
- Category: Color
-
- DateString : String
- DateString : String
- DateString : String
- Returns the current date in MM-DD-YY format.
-
- Category: Time, String
-
- Day : Number
- Day : Number
- Day : Number
- Returns the day of the month.
-
- Category: Time
-
-
-
- Computer Tyme MarxMenu Users Manual Page 61
- _______________________________________________________________
-
-
- DayOf (Date) : Number
- DayOf (Date) : Number
- DayOf (Date) : Number
- Returns the day of a date. If Date is passed as a string it is
- converted automatically.
-
- See Also: TimeOf, BadDate
-
- Category: Time
-
- DayOfWeek : Number
- DayOfWeek : Number
- DayOfWeek : Number
- Returns the day of the week.
-
- 0=SUNDAY
- 1=MONDAY
- 2=TUESDAY
- 3=WEDNESDAY
- 4=THURSDAY
- 5=FRIDAY
- 6=SATURDAY
-
- Category: Time
-
- DayOfWeekOf (Date) : Number
- DayOfWeekOf (Date) : Number
- DayOfWeekOf (Date) : Number
- Returns the DayOfWeek of a date. If Date is passed as a string it is
- converted automatically.
-
- See Also: TimeOf, BadDate
-
- Category: Time
-
- Dec : Number
- Dec : Number
- Dec : Number
- December, Returns the number 12.
-
- Category: Time
-
-
-
- Computer Tyme MarxMenu Users Manual Page 62
- _______________________________________________________________
-
-
- Delete (string,pos,count)
- Delete (string,pos,count)
- Delete (string,pos,count)
- Deletes characters from string starting at pos for count.
-
- Example:
- String = 'ABCDEFGH'
- Delete(String,2,3)
-
- This leaves a String containing 'ABFGH'
-
- If count exceeds the length of the string, the string is truncated at
- pos.
-
- Another use of Delete is to delete elements of an array.
-
- Delete (Array,Position,Count)
- This works exactly like the delete command for strings. It delete
- elements of an array beginning at Position for Count elements. The
- NumberOfElements is adjusted accordingly.
-
- Example:
- MyArray[1] = "ONE"
- MyArray[2] = "TWO"
- MyArray[3] = "THREE"
- MyArray[4] = "FOUR"
- Delete( MyArray,2,2 )
-
- ;MyArray now contains..
- MyArray[1] = "ONE"
- MyArray[2] = "FOUR"
-
- Category: String, Array
-
- DelFile (Name)
- DelFile (Name)
- DelFile (Name)
- Deletes a file by name. FileResult returns a 0 if the file existed and
- the delete was successful.
-
- Example:
- DelFile( 'C:\NOTES\READ.ME' )
- If FileResult = 0
- Writeln( 'C:\NOTES\READ.ME was succesfully deleted!' )
- Else
- Writeln( 'C:\NOTES\READ.ME was un-succesfully deleted!' )
- EndIf
-
- Category: File
-
-
-
- Computer Tyme MarxMenu Users Manual Page 63
- _______________________________________________________________
-
-
- Dispose (Variable)
- Dispose (Variable)
- Dispose (Variable)
- This command reclaims memory used by a string variable, file variable,
- or an array. If you are doing a lot of data manipulation, you might want
- to reclaim memory space used by arrays you are done with. The disposed
- variable becomes an untyped variable.
-
- Example:
- Loop( 20 )
- MyArray[LoopIndex] = LoopIndex
-
- ;Check to See Also: if number is odd or even
- If (MyArray[LoopIndex] Mod 2) = 0
- Writeln('MyArray[' + Str(LoopIndex) + '] is an EVEN number.' );
- Else
- Writeln('MyArray[' + Str(LoopIndex) + '] is an EVEN number.' );
- EndIf
- EndLoop
-
- ;We're finished with the array so reclaim its memory space.
- Dispose(MyArray)
-
- Category: Memory, Array
-
- DosVersion : Number
- DosVersion : Number
- DosVersion : Number
- Returns the major DOS version number.
-
- See Also: DosVersionString, MinorDosVersion
-
- Category: System
-
- DosVersionString : String
- DosVersionString : String
- DosVersionString : String
- Returns the DOS version number as a 4 character string. This function
- always returns 2 places past the decimal point. The form of the string
- is: #.##
-
- Example
- Writeln DosVersionString ;prints 4.01
-
- See Also: DosVersion, MinorDosVersion
-
- Category: System, String
-
- DosWindow (on/off)
- DosWindow (on/off)
- DosWindow (on/off)
- When you set DosWindow on, MarxMenu will not drop out of the menu system
- when you use the Execute command. It will give you a display of the DOS
- screen within the current window. The program you execute must be a
- well-behaved program like DIR or COPY or some of the other DOS commands
- that talk to the screen through standard file handles.
-
- Category: Execution
-
-
-
- Computer Tyme MarxMenu Users Manual Page 64
- _______________________________________________________________
-
-
- DoubleLineBox
- DoubleLineBox
- DoubleLineBox
- Selects double line box.
-
- See Also: SingleLineBox, BlockBox, CustomBox, NoBoxBorder
-
- Category: Display
-
- DrawBox (column,row,width,height)
- DrawBox (column,row,width,height)
- DrawBox (column,row,width,height)
- Draws a box on the screen. The (column) and (row) are the upper left
- corner, (width) and (height) is the box size.
-
- Example:
- Explode On
- Shadow On
- DoubleLineBox
- BoxHeaderColor( Yellow,Red )
- BoxBorderColor( White, Red )
- BoxInsideColor( Yellow,Red )
- InverseColor( Black, Gray )
- CapsColor( Black, Red )
- BoxHeader = ' << Main Menu >> '
- DrawBox( 30,10,40,8 )
-
- DrawBox also creates a logical layer for several display variables.
- These variable include TextColor, InverseColor, CapsColor. It is
- important to use these color control commands AFTER the DrawBox command
- in order to properly restore the colors of the previous DrawBox.
-
- If you call up a box and when it finishes it messes up the colors of the
- previous box, you probably used color control commands BEFORE the
- DrawBox instead of AFTER.
-
- Category: Display
-
- Drives : Number
- Drives : Number
- Drives : Number
- Returns the number of drives. This includes drive names that can be
- substituted. Most of the time the answer is 5. This relates to your
- LastDrive = command in your CONFIG.SYS file.
-
- Category: System
-
- DvAppNumber : Number
- DvAppNumber : Number
- DvAppNumber : Number
- Returns the DesqView application number or window number.
-
- Category: DesqView
-
- DvFrame (Handle,On/Off)
- DvFrame (Handle,On/Off)
- DvFrame (Handle,On/Off)
- Turns the DesqView border frame on or off.
-
- Category: DesqView
-
-
-
- Computer Tyme MarxMenu Users Manual Page 65
- _______________________________________________________________
-
-
- DvFreeze (Handle)
- DvFreeze (Handle)
- DvFreeze (Handle)
- Freezes a program. The program stops executing.
-
- See Also: DvUnFreeze, DvPifExecute, DvLastHandle
-
- Category: DesqView
-
- DvHide (Handle)
- DvHide (Handle)
- DvHide (Handle)
- Hides all output from program making it invisible. The program still
- continues to run.
-
- See Also: DvUnHide
-
- Category: DesqView
-
- DvKillTask (Handle)
- DvKillTask (Handle)
- DvKillTask (Handle)
- Kills a program running under DesqView. The handle is the one returned
- be DvPifExecute in DvLastHandle.
-
- See Also: DvPifExecute
-
- Category: DesqView
-
- DvLastHandle : Number
- DvLastHandle : Number
- DvLastHandle : Number
- Returns a number that is associated with a program running under
- DesqView. This number is used to control other programs running under
- DesqView. It is set by DvPifExecute.
-
- See Also: DvPifExecute
-
- Category: DesqView
-
- DvLoaded : Boolean
- DvLoaded : Boolean
- DvLoaded : Boolean
- Returns true if DesqView is loaded.
-
- Category: DesqView
-
- DvMoveWindow (Handle,X,Y)
- DvMoveWindow (Handle,X,Y)
- DvMoveWindow (Handle,X,Y)
- Moves DesqView window upper left corner to position X,Y.
-
- Category: DesqView
-
- DvMyHandle : Number
- DvMyHandle : Number
- DvMyHandle : Number
- Returns the DesqView handle of the current process.
-
- See Also: DvLastHandle
-
- Category: DesqView
-
-
-
- Computer Tyme MarxMenu Users Manual Page 66
- _______________________________________________________________
-
-
- DvPifExecute (Pif File)
- DvPifExecute (Pif File)
- DvPifExecute (Pif File)
- Executes another program under DesqView in another window. MarxMenu
- stays resident in its original window. The window executes according to
- the contents of the DesqView PIF file. The PIF file can be specified by
- using the full name. If you leave of the extension, MarxMenu assumes the
- extension DVP. If you pass a two character name, like the two characters
- in the DesqView menus, then MarxMenu will add -PIF.DVP to the name. If
- the PIF file is on the path, MarxMenu will find it.
-
- Warning! DesqView must be loaded to run this command.
-
- Example:
- DvPifExecute 'BD'
- DvPifExecute 'BD-PIF' ;These all execute Big DOS
- DVPifExecute 'BD-PIF.DVP'
-
- The task handle is loaded into a variable named DvLastHandle. When the
- program starts, it becomes the current top program.
-
- See Also: DvLoaded, DvLastHandle
-
- Category: DesqView
-
- DvResizeWindow (Handle,Width,Height)
- DvResizeWindow (Handle,Width,Height)
- DvResizeWindow (Handle,Width,Height)
- Changes the size of a DesqView window.
-
- Category: DesqView
-
- DvSetBottom (Handle)
- DvSetBottom (Handle)
- DvSetBottom (Handle)
- Sets the program associated with the handle to the bottom of the task
- stack.
-
- See Also: DvSetTop
-
- Category: DesqView
-
- DvSetTop (Handle)
- DvSetTop (Handle)
- DvSetTop (Handle)
- Sets the program associated with the handle to be the top running task.
- Using DvMyHandle allows MarxMenu to regain control after starting
- another task.
-
- Example:
- DvSetTop (DvMyHandle)
-
- See Also: DvSetBottom, DvLastHandle
-
- Category: DesqView
-
-
-
- Computer Tyme MarxMenu Users Manual Page 67
- _______________________________________________________________
-
-
- DvUnFreeze (Handle)
- DvUnFreeze (Handle)
- DvUnFreeze (Handle)
- UnFreezes a program. The program starts executing again.
-
- See Also: DvFreeze, DvPifExecute, DvLastHandle
-
- Category: DesqView
-
- DvUnHide (Handle)
- DvUnHide (Handle)
- DvUnHide (Handle)
- Reverses the effect of DvHide making program output visable again.
-
- See Also: DvHide
-
- Category: DesqView
-
- Else
- Else
- Else
- Starts lines executed if a condition is not true.
-
- See Also: If Then Endif
-
- Category: Conditional
-
- EndComment
- EndComment
- EndComment
- Ends a comment block.
-
- See Also: Comment
-
- Category: Misc
-
- EndIf
- EndIf
- EndIf
- Ends an if statement.
-
- See Also: If Else Then
-
- Category: Conditional
-
- EndLoop
- EndLoop
- EndLoop
- Ends a loop statement.
-
- See Also: Loop LoopIndex LoopLimit
-
- Category: Conditional
-
-
-
- Computer Tyme MarxMenu Users Manual Page 68
- _______________________________________________________________
-
-
- EndOfFile (FileVar) : Boolean
- EndOfFile (FileVar) : Boolean
- EndOfFile (FileVar) : Boolean
- Returns True if you are at the end of the file.
-
- Example:
- Var In
-
- FileAssign (In,'C:\NOTES\READ.ME')
- FileOpen (In)
- While not EndOfFile (In)
- Writeln (FileReadLn (In))
- EndWhile
- FileClose (In)
-
- Category: File
-
- EndProc
- EndProc
- EndProc
- Ends a Procedure.
-
- See Also: Procedure Return
-
- Category: Misc
-
- EndWhile
- EndWhile
- EndWhile
- Ends a While statement.
-
- See Also: While
-
- Category: Conditional
-
- EnvFree : Number
- EnvFree : Number
- EnvFree : Number
- Returns the free space in the selected environment.
-
- Category: Environment
-
- EnvSize : Number
- EnvSize : Number
- EnvSize : Number
- Returns the size of the selected environment.
-
- Example:
- if EnvSize < 20
- Writeln ('Your envrionment size is less than 20 bytes!!')
- endif
-
- Category: Environment
-
- EraseTopWindow
- EraseTopWindow
- EraseTopWindow
- Erases the last window created with DrawBox.
-
- See Also: EraseWindow
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 69
- _______________________________________________________________
-
-
- EraseWindow (Number)
- EraseWindow (Number)
- EraseWindow (Number)
- Erases a window by number. This allows you to erase a window that is not
- the top window.
-
- See Also: CurrentWindow, SetTopWindow, EraseTopWindow
-
- Category: Display
-
- Execute (command string)
- Execute (command string)
- Execute (command string)
- This allows you to execute a program without dropping out of MarxMenu.
- MarxMenu remains resident in memory and takes up approximately 50k. No
- batch file will be created by MarxMenu.
-
- This is handy if you have a small program you want to run from the menu
- but don't want to allow for the time required by MarxMenu to create and
- run a batch file. You can also execute some programs in a MarxMenu
- window (See Also: DosWindow). You can also execute a program and examine
- the return code.
-
- This command can be placed in a progression of menu commands without any
- special handling. Under an OnKey statement, you will need to enclose the
- command between a begin and end statement.
-
- Example:
- OnKey 'D'
- |UseCommand Off
- |Execute 'C:\DM.COM' ;Note the COM extension is required here.
-
- Note: If UseCommand is True or On, MarxMenu will load COMMAND.COM to
- execute your command. If UseCommand is False, MarxMenu will execute your
- file directly without COMMAND.COM. Using COMMAND.COM will execute
- slightly slower, use 3.5k more ram, and allow you to use command lines
- just like you would from the DOS prompt.
-
- If you set UseCommand to off, you will have to include the COM or EXE
- extension in the name. If you don't include the extension, MarxMenu will
- automatically override UseCommand and load the command processor.
-
- COMMAND.COM is required when running internal DOS commands like COPY or
- DIR. It is also required to run batch files.
-
- When UseCommand is off, MarxMenu will search the PATH for the executable
- file if it isn't in the current directory.
-
- Not using COMMAND.COM allows you to use the ReturnCode variable to get
- the ERRORLEVEL from the subprogram. If COMMAND.COM is loaded, the
- ERRORLEVEL of the subprogram is lost.
-
- The ClearScreenFirst (On/Off) controls whether MarxMenu will clear the
- screen before you execute.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 70
- _______________________________________________________________
-
-
- The PauseAfterExecute (On/Off) allows you to have a pause like the Pause
- command in batch files. That way you can read the screen before it
- restores the MarxMenu screen. MarxMenu will display "Press any key to
- return to MarxMenu."
-
- Category: Execution
-
- ExistDir (directory) : Boolean
- ExistDir (directory) : Boolean
- ExistDir (directory) : Boolean
- Used to test whether or not a DIRECTORY exists.
-
- See Also: UseCommand, DosWindow, PauseAfterExecute, ClearScreenFirst
-
- Category: File
-
- ExistFile : Boolean
- ExistFile : Boolean
- ExistFile : Boolean
- Used to test whether or not a FILE exists.
-
- Category: File
-
- ExistOnPath (string) : String
- ExistOnPath (string) : String
- ExistOnPath (string) : String
- Used to search the existing paths for the command to be executed by
- Execute or other function. The program variable must include the full
- filename.
-
- Example:
- OnKey 'D'
- |Execute(ExistOnPath('DM.COM'))
-
- If the file is not found, a null string is returned.
-
- Category: File
-
- ExitCode
- ExitCode
- ExitCode
- This can be set so MarxMenu will return an ErrorLevel that can be used
- in a batch file.
-
- Example:
- ExitCode = 100
-
- When MarxMenu exits it will use ErrorLevel 100.
-
- Category: Execution
-
- ExitMenu
- ExitMenu
- ExitMenu
- Causes MarxMenu to exit.
-
- Category: Execution
-
-
-
- Computer Tyme MarxMenu Users Manual Page 71
- _______________________________________________________________
-
-
- Exp (Real) : Real
- Exp (Real) : Real
- Exp (Real) : Real
- Returns the Exponential of a real. Inverse of Ln.
-
- Category: Math, Float
-
- Explode (on/off)
- Explode (on/off)
- Explode (on/off)
- Turn exploding windows on/off.
-
- Category: Display
-
- ExplodeDelay (number)
- ExplodeDelay (number)
- ExplodeDelay (number)
- Sets the speed of exploding windows. Use this command to adjust the
- speed of the exploding windows. Default is 15.
-
- Category: Display
-
- Extension (String) : String
- Extension (String) : String
- Extension (String) : String
- Returns the Extention of a file name.
-
- Example:
- Extension('MARXMENU.EXE') ;returns EXE
-
- See Also: NamePart, PathPart, FilePart
-
- Category: String
-
- False : Boolean
- False : Boolean
- False : Boolean
- Returns boolean False.
-
- Category: Boolean
-
- Feb : Number
- Feb : Number
- Feb : Number
- February, Returns the number 2.
-
- Category: Time
-
- FileAppend (FileVar)
- FileAppend (FileVar)
- FileAppend (FileVar)
- Opens a file for access and moves the file pointer to the end of the
- file. File writes will start at the end of the file.
-
- Category: File
-
-
-
- Computer Tyme MarxMenu Users Manual Page 72
- _______________________________________________________________
-
-
- FileAssign (FileVar,String)
- FileAssign (FileVar,String)
- FileAssign (FileVar,String)
- Assigns a file variable to a file name. Files must be given a name
- before they can be accessed.
-
- Example: FileAssign(BatFile,'MARX.BAT')
-
- BatFile is a variable and after the FileAssign, it becomes a file
- variable. All access to the file is done using the file variable.
-
- If an empty string is passed as the file name, MarxMenu will use the
- standard console file handles.
-
- Category: File
-
- FileAttr (string) : Number
- FileAttr (string) : Number
- FileAttr (string) : Number
- Returns file attribute. Can be used on directories also.
-
- Category: File
-
- FileClose (FileVar)
- FileClose (FileVar)
- FileClose (FileVar)
- Closes a file and deallocates the memory space used by the file
- variable.
-
- See Also: FileOpen
-
- Category: File
-
- FileCreate (FileVar)
- FileCreate (FileVar)
- FileCreate (FileVar)
- Creates a new file. If the file exists, it overwrites the old one.
- FileCreate opens the file for output. Do not use FileOpen with
- FileCreate.
-
- Category: File
-
- FileDate (string) : Number
- FileDate (string) : Number
- FileDate (string) : Number
- Returns file date as 32 bit integer. See Also: DOS manual for date
- structure.
-
- Category: File
-
- FileFlush (FileVar)
- FileFlush (FileVar)
- FileFlush (FileVar)
- Writes any information that is in the file buffers to disk.
-
- Category: File
-
- FileLog (FileVar,String)
- FileLog (FileVar,String)
- FileLog (FileVar,String)
- This is like FileWriteln except that it always seeks the end of the file
- and flushes its buffers after each write. Used for usage tracking.
-
- Category: File
-
-
-
- Computer Tyme MarxMenu Users Manual Page 73
- _______________________________________________________________
-
-
- FileOpen (FileVar)
- FileOpen (FileVar)
- FileOpen (FileVar)
- Opens a file for access. FileOpen is not needed if you are using the
- ReadTextFile command. The following example copies a text file.
-
- var Inp Out St
-
- FileAssign(Inp,'INPUT.TXT')
- FileOpen(Inp)
- FileAssign(Out,'OUTPUT.TXT')
- FileCreate(Out)
- while not EndOfFile(Inp)
- FileReadln(Inp,St)
- FileWriteln(Out,St)
- endwhile
- FileClose(Inp)
- FileClose(Out)
-
- Category: File
-
- FilePart (String) : String
- FilePart (String) : String
- FilePart (String) : String
- Returns the file part of a file name.
-
- Example:
- NamePart ('C:\MARX\MARXMENU.EXE') ;returns MARXMENU.EXE
-
- See Also: Extension, PathPart, NamePart
-
- Category: String
-
- FilePos (FileVar) : Number
- FilePos (FileVar) : Number
- FilePos (FileVar) : Number
- Returns the current file position in bytes.
-
- Category: File
-
- FileReadln (FileVar) : String
- FileReadln (FileVar) : String
- FileReadln (FileVar) : String
- Reads one line of an open file returning that line as a string.
-
- Example:
- Line3 = FileReadln(BatFile)
-
- See Also: FileOpen
-
- Category: File
-
- FileRename (Old,New)
- FileRename (Old,New)
- FileRename (Old,New)
- Renames a file from old name to new. A file may be moved to a new
- directory with this command.
-
- Category: File
-
-
-
- Computer Tyme MarxMenu Users Manual Page 74
- _______________________________________________________________
-
-
- FileResult : Number
- FileResult : Number
- FileResult : Number
- Returns result code from last file IO. Result codes are the same as
- Turbo Pascal IOResult codes. These codes usually match the errors
- returned in the AX register of DOS commands. 0 indicates no problem.
-
- Category: File
-
- FileSeek (FileVar,Number)
- FileSeek (FileVar,Number)
- FileSeek (FileVar,Number)
- Moves the file pointer to a specified place in the file.
-
- Category: File
-
- FileSize (string) : Number
- FileSize (string) : Number
- FileSize (string) : Number
- Returns size of file in bytes.
-
- Category: File
-
- FileWrite (FileVar,String)
- FileWrite (FileVar,String)
- FileWrite (FileVar,String)
- Writes text to a file.
-
- Category: File
-
- FileWriteln (FileVar,String)
- FileWriteln (FileVar,String)
- FileWriteln (FileVar,String)
- Writes text to a file with a carriage return and a line feed.
-
- See Also: FileOpen
-
- Category: File
-
- FixPath
- FixPath
- FixPath
- This command reads your path command and verifies that all the paths are
- accessable. Any path that isn't accessable is removed from the master
- environment. This can be used on network drives to eliminate searching
- paths on fileservers that are no longer accessable.
-
- Category: Environment
-
- Floppies : Number
- Floppies : Number
- Floppies : Number
- Returns number of floppy drives.
-
- Category: System
-
- ForceExplosion (On/Off)
- ForceExplosion (On/Off)
- ForceExplosion (On/Off)
- This changes the explosion status of a window that already exists. This
- allows windows to implode that didn't explode.
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 75
- _______________________________________________________________
-
-
- ForceExtension (String,Ext) : String
- ForceExtension (String,Ext) : String
- ForceExtension (String,Ext) : String
- This command forces a file extension on a string.
-
- Example:
- St = ForceExtension('MAIN.MNU','MRX')
-
- This sets St equal to MAIN.MRX
-
- Category: String
-
- Fraction (Real) : Real
- Fraction (Real) : Real
- Fraction (Real) : Real
- Returns the fractional part of a real.
-
- Category: Math, Float
-
- FreeDiskSpace <drive> : Number
- FreeDiskSpace <drive> : Number
- FreeDiskSpace <drive> : Number
- Returns free disk space in bytes.
-
- Example:
- Writeln (FreeDiskSpace 'C')
-
- FreeDiskSpace only looks at the first character of the string for the
- drive letter.
-
- Category: System
-
- FreeEMS : Number
- FreeEMS : Number
- FreeEMS : Number
- Returns free EMS memory in bytes.
-
- Category: Memory
-
- FreeMemory : Number
- FreeMemory : Number
- FreeMemory : Number
- Returns the amount of free memory still available. This is the memory
- available to MarxMenu or the amount you would have using the Execute
- command.
-
- See Also: ApplicationMemory
-
- Category: Memory
-
- Fri : Number
- Fri : Number
- Fri : Number
- Friday, Returns the number 5.
-
- Category: Time
-
- GotoXY (column,row)
- GotoXY (column,row)
- GotoXY (column,row)
- Move cursor to location column,row in current box.
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 76
- _______________________________________________________________
-
-
- Green : Number
- Green : Number
- Green : Number
- Returns the number 2.
-
- Category: Color
-
- Grey : Number
- Grey : Number
- Grey : Number
- Returns the number 7.
-
- Category: Color
-
- Hour : Number
- Hour : Number
- Hour : Number
- Return the current hour. 24 hour format.
-
- Category: Time
-
- HourOf (Date) : Number
- HourOf (Date) : Number
- HourOf (Date) : Number
- Returns the hour of a date. If Date is passed as a string it is
- converted automatically.
-
- See Also: TimeOf, BadDate
-
- Category: Time
-
- Hundredth : Number
- Hundredth : Number
- Hundredth : Number
- Returns the 1/100 of a second from the system clock. Note that the
- system clock timer tick is 1/18 second so don't expect a lot of accuracy
- here.
-
- Category: Time
-
- IdelProgram : Procedure
- IdelProgram : Procedure
- IdelProgram : Procedure
- IdelProgram is a variable that when set to the location of a procedure
- allows the procedure to run while waiting at the keyboard. This is done
- by writing a procedure that will run while waiting for input.
-
- The way you use this is to set an internal variable named IdelProgram to
- the Loc of the procedure you want to run as follows:
-
- Example:
- IdelProgram = Loc MyProcedure
-
- Note: Do not use parentheses around MyProcedure.
-
- When writing MyProcedure make it as short and quick as possible. As of
- now, MyProcedure is called continously while there is no keyboard input.
- You can also use a loop in it as follows.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 77
- _______________________________________________________________
-
-
- Procedure MyProcedure
- SetItUp
- while not KBDReady
- {do your thing}
- endwhile
- PutItBack
- EndProc
-
- MarxMenu doesn't automatically exit your procedure or save and restore
- anything. If you're writing to the screen you have to put everything
- back the way it was.
-
- If you want to run a program at a specific time, here's how it can be
- done:
-
- Procedure MyProcedure
- if Now = TimeOf('11:00pm')
- Bat 'NIGHT' ;run NIGHT.BAT
- ExitMenu
- endif
- if Now = TimeOf('5:00')
- Bat 'MORNING' ;run MORNING.BAT
- ExitMenu
- endif
- EndProc
-
- See Also: Run, Loc
-
- Category: Execution
-
- If
- If
- If
- Used for program control.
-
- Usage:
-
- IF (condition) THEN (statement)
-
- IF (condition)
- (statement)
- (statement)
- ELSE
- (statement)
- (statement)
- ENDIF
-
- Category: Conditional
-
-
-
- Computer Tyme MarxMenu Users Manual Page 78
- _______________________________________________________________
-
-
- InactiveBox (BoxType)
- InactiveBox (BoxType)
- InactiveBox (BoxType)
- This is used to select the type of box border to use when a window is
- not the current window. If any inactive box type is specified, then when
- you execute another DrawBox, the old window's border changes to the
- inactive box type. The inactive window also loses its headers and
- shadows.
-
- Note that InActiveBox must be used BEFORE the DrawBox command.
-
- Example:
- InActiveBox (SingleLineBox) ;switches to single line box if
- inactive.
-
- InactiveBox (NoBoxBorder) ;disables InActive effect.
-
- See Also: InactiveBoxColor
-
- Category: Display
-
- InactiveBoxColor (foreground,background)
- InactiveBoxColor (foreground,background)
- InactiveBoxColor (foreground,background)
- Selects the color of the inactive box window. If Black on Black is
- selected, (default), the inactive box color is the same as the active
- box color.
-
- Example:
- BoxBorderColor Yellow Blue
- InActiveBoxColor Brown Blue
-
- See Also: InactiveBox BoxBorderColor
-
- Category: Color
-
- Include (MenuName)
- Include (MenuName)
- Include (MenuName)
- This is used to insert the menu code from another file into the menu
- that you are compiling.
-
- Example:
- Include 'DOS.MNU'
-
- This will compile DOS.MNU into your present menu as if that whole file
- were part of the menu you are working on.
-
- This is useful if you have several menus that share common code. By
- moving this common code to a separate file, and using an Include
- statement, you can change the common code and update several menus at
- once. If you are using overlays, it is a good idea to put your shared
- variables in an include file. This asures that the shared variables will
- be the same for all overlays.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 79
- _______________________________________________________________
-
-
- Changing an include file does not cause MarxMenu to recompile
- automatically like changing the MNU does. You will have to force it to
- compile your menus.
-
- This can be done several ways. You can type MARXCOMP (menu) or you can
- just type DEL *.MRX which will cause all the menus to recompile the next
- time they are run.
-
- Category: Misc
-
- InputString (String)
- InputString (String)
- InputString (String)
- Preloads a string for the Readln command. The next Readln will have the
- InputString on the screen for you to edit or accept. Once Readln
- executes, InputString is cleared to a blank string.
-
- Example:
- InputString = ReadEnv('USERNAME')
- YourName = Readln
-
- Category: Keyboard, String
-
- Insert (InsString,OrigString,Pos)
- Insert (InsString,OrigString,Pos)
- Insert (InsString,OrigString,Pos)
- Inserts a string into a string.
-
- Example:
- St = 'ABCDEF'
- Insert('123',St,3)
-
- St will become 'ABC123DEF'
-
- Category: String
-
- InsertMode (On/Off)
- InsertMode (On/Off)
- InsertMode (On/Off)
- Turns insert mode on and off for Readln commands.
-
- Category: Keyboard
-
- Int (Real) : Real
- Int (Real) : Real
- Int (Real) : Real
- Returns the integer part of a real as a real.
-
- Category: Math, Float
-
- Integer (Real) : Number
- Integer (Real) : Number
- Integer (Real) : Number
- Returns the integer part of a real as an integer. The fractional part is
- truncated.
-
- Category: Math, Float
-
-
-
- Computer Tyme MarxMenu Users Manual Page 80
- _______________________________________________________________
-
-
- InverseColor (forecolor,backcolor)
- InverseColor (forecolor,backcolor)
- InverseColor (forecolor,backcolor)
- Sets colors for inverse bar used with UseArrows command.
-
- Category: Color
-
- Jan : Number
- Jan : Number
- Jan : Number
- January, Returns the number 1.
-
- Category: Time
-
- Jul : Number
- Jul : Number
- Jul : Number
- July, Returns the number 7.
-
- Category: Time
-
- Jun : Number
- Jun : Number
- Jun : Number
- June, Returns the number 6.
-
- Category: Time
-
- Jump (menu)
- Jump (menu)
- Jump (menu)
- Jumps to another menu and does not return to original menu.
-
- Category: Execution
-
- KbdReady : Boolean
- KbdReady : Boolean
- KbdReady : Boolean
- Returns true if Key is pressed.
-
- Category: Keyboard
-
- KeySave : String
- KeySave : String
- KeySave : String
- Stores your keystrokes that you pressed to get to the menu level where
- you are at. KeySave is passed to DOS using the SET KSV= command to store
- your position in the menu system. To make this work, you must execute
- SavePosition On.
-
- This variable can be set by you to force MarxMenu to return to a place
- in the menu other than where you are. This allows MarxMenu to suggest a
- next step.
-
- See Also: SavePosition
-
- Category: String, Environment, Execution
-
- KeyFromMouse : Boolean
- KeyFromMouse : Boolean
- KeyFromMouse : Boolean
- Normally mouse activity is translated into keystrokes. This variable is
- set to true if the keystroke came from the mouse.
-
- Category: MouseControl
-
-
-
- Computer Tyme MarxMenu Users Manual Page 81
- _______________________________________________________________
-
-
- KillMusic
- KillMusic
- KillMusic
- This command stops the music and de-allocates the memory used by the
- music buffer.
-
- Category: Music
-
- LastKey : String
- LastKey : String
- LastKey : String
- LastKey returns the last key that was typed at the keyboard. This can be
- used after a Readln to determine if the ESC key was pressed or perhaps
- the up or down arrow keys.
-
- Sometimes after the press of an ESC key, MarxMenu wants to exit more
- levels than you want it to. This can be controlled by setting LastKey =
- ' ' to stop the abort process.
-
- See Also: Readln
-
- Category: String
-
- LBlue : Number
- LBlue : Number
- LBlue : Number
- Light Blue, Returns the number 9.
-
- Category: Color
-
- LCyan : Number
- LCyan : Number
- LCyan : Number
- Light Cyan, Returns the number 11.
-
- Category: Color
-
- Left (string,count) : String
- Left (string,count) : String
- Left (string,count) : String
- Returns string starting at the beginning for count characters.
-
- Example: Left('ABCDEF',3) returns 'ABC'
-
- Category: String
-
- Length (string) : Number
- Length (string) : Number
- Length (string) : Number
- Returns the length of the string.
-
- Example: Length('ABCD') returns 4.
-
- Category: String
-
- LGreen : Number
- LGreen : Number
- LGreen : Number
- Light Green, Returns the number 10.
-
- Category: Color
-
-
-
- Computer Tyme MarxMenu Users Manual Page 82
- _______________________________________________________________
-
-
- LGrey : Number
- LGrey : Number
- LGrey : Number
- Light Grey, Returns the number 8.
-
- Category: Color
-
- LMag : Number
- LMag : Number
- LMag : Number
- Light Magenta, Returns the number 13.
-
- Category: Color
-
- LMagenta : Number
- LMagenta : Number
- LMagenta : Number
- Light Magenta, Returns the number 13.
-
- Category: Color
-
- Ln (Real) : Real
- Ln (Real) : Real
- Ln (Real) : Real
- Returns the Natural Logarithm of a real.
-
- Category: Math, Float
-
- Loc (Procedure)
- Loc (Procedure)
- Loc (Procedure)
- This returns the location of a procedure for storing in a variable. The
- variable is later executed using the Run command.
-
- See Also: Run
-
- Category: Misc
-
- LockWord (word)
- LockWord (word)
- LockWord (word)
- Sets a default word for the console activated keyboard lock. When the
- screen goes blank, the user has to type the LockWord to unblank the
- screen. This is a security feature so that if a user leaves the menu
- unattended, it prevents others from tampering with the system.
-
- See Also: LogoffTime, BlankTime
-
- Category: Display
-
- Logoff
- Logoff
- Logoff
- Logoff logs you off the network the same way that LogoffTime does except
- it does it immediately. See LogoffTime for details as to how.
-
- See Also: LogoffTime
-
- Category: Execution
-
-
-
- Computer Tyme MarxMenu Users Manual Page 83
- _______________________________________________________________
-
-
- LogoffTime : Number
- LogoffTime : Number
- LogoffTime : Number
- MarxMenu supports automatic logoff after a number of minutes of
- inactivity set by LogoffTime. This only has effect while you are in the
- menu and not while an application is running. It is set as follows:
-
- LogoffTime = 5 ;sets time to 5 minutes
-
- Setting LogoffTime to 0 disbles this feature.
-
- When the time to logoff occurs, MarxMenu will first look for a batch
- file in the \LOGIN directory called OFF.BAT. If it doesn't find it,
- MarxMenu will look for OFF.BAT on the PATH. If this isn't found,
- MarxMenu will look for LOGOFF.EXE. If this isn't found, then MarxMenu
- will look for LOGOUT.COM.
-
- LOGOFF.EXE and LOGOUT.COM are executed by stuffing the keyboard buffer.
-
- The best way to use this feature is to create an OFF.BAT file in your
- \LOGIN directory or on the PATH.
-
- See Also: LockWord
-
- Category: Execution
-
- Loop
- Loop
- Loop
- MarxMenu has a looping structure that lets you execute a piece of code a
- specific number of times. It is used as follows:
-
- Example:
- Loop 8
- Writeln 'Pass Number ' LoopIndex
- EndLoop
-
- You start with LOOP (Number) which specifies the number of times to
- execute the code between LOOP and ENDLOOP. There are 2 variables
- available here for loop control. LoopIndex starts at 1 and is
- incremented at each EndLoop. When LoopIndex becomes greater than
- LoopLimit, the loop exits. LoopIndex and LoopLimit refer to the
- innermost loop.
-
- As loops are nested LoopIndexes and LoopLimits are kept in two arrays;
- LoopIndexStack and LoopLimitStack. There is also a variable called
- LoopLevel which points to the current loop parameters.
-
- Thus:
- LoopIndex is the same as LoopIndexStack[LoopLevel]
- LoopLimit is the same as LoopLimitStack[LoopLevel]
-
- You may therefore access outer loop parameters through the loop stacks.
- For instance LoopIndexStack[LoopLevel - 1] would refer to the second
- innermost loop index. LoopIndexStack[1] refers to the outermost loop.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 84
- _______________________________________________________________
-
-
- The loop variables can be read and written to so you can adjust the
- looping parameters while inside the loop. You can even adjust the
- parameters of outer loops.
-
- See Also: EndLoop LoopIndex LoopLimit
-
- Category: Conditional
-
- LoopIndex
- LoopIndex
- LoopIndex
- Returns the loop you are in.
-
- See Also: Loop EndLoop LoopLimit
-
- Category: Conditional
-
- LoopLimit
- LoopLimit
- LoopLimit
- Returns the upper limit of the loop you are in.
-
- See Also: Loop EndLoop LoopIndex
-
- Category: Conditional
-
- LRed : Number
- LRed : Number
- LRed : Number
- Light Red returns the number 12.
-
- Category: Color
-
- MachineName : String
- MachineName : String
- MachineName : String
- This reads or sets the MachineName for NetBios networks.
-
- Example:
- MachineName = IBM ;sets the MachineName
- Writeln MachineName ;displays the MachineName
-
- Category: Novell
-
- Mag : Number
- Mag : Number
- Mag : Number
- Magenta, Returns the number 5.
-
- Category: Color
-
- Magenta : Number
- Magenta : Number
- Magenta : Number
- Magenta, Returns the number 5.
-
- Category: Color
-
- Mar : Number
- Mar : Number
- Mar : Number
- March, Returns the number 3.
-
- Category: Time
-
-
-
- Computer Tyme MarxMenu Users Manual Page 85
- _______________________________________________________________
-
-
- MarxVersion : String
- MarxVersion : String
- MarxVersion : String
- Returns the version number of the MarxMenu you are running.
-
- Category: String
-
- MasterEnvironment
- MasterEnvironment
- MasterEnvironment
- MasterEnvironment selects the Master Environment for use with
- environment access commands.
-
- See Also: ReadEnv SetEnv ReadEnvironment ShellEnvironment
- See Also: CurrentEnvironment ParentEnvironment
-
- Category: Environment
-
- Max (Num,Num) : Num
- Max (Num,Num) : Num
- Max (Num,Num) : Num
- Returns the largest of two numbers or strings.
-
- Category: Math, String, Float
-
- May : Number
- May : Number
- May : Number
- May, Returns the number 5.
-
- Category: Time
-
- Mem (seg,ofs) : Number
- Mem (seg,ofs) : Number
- Mem (seg,ofs) : Number
- Returns the byte at memory location seg:ofs or lets you write to the
- byte at seg:ofs.
-
- Example:
- X = Mem(40,5) ;reads memory into X
- Mem(40,5) = X ;writes X into memory
-
- Category: Memory
-
- MemL (seg,ofs) : Number
- MemL (seg,ofs) : Number
- MemL (seg,ofs) : Number
- Returns the long integer at memory location seg:ofs or lets you write to
- the byte at seg:ofs.
-
- Example:
- X = MemL(40,5) ;reads memory into X
- MemL(40,5) = X ;writes X into memory
-
- Category: Memory
-
- MemSize : Number
- MemSize : Number
- MemSize : Number
- Returns total memory size in K. (640 = 640k)
-
- Category: Memory
-
-
-
- Computer Tyme MarxMenu Users Manual Page 86
- _______________________________________________________________
-
-
- MemW (seg,ofs) : Number
- MemW (seg,ofs) : Number
- MemW (seg,ofs) : Number
- Returns the word at memory location seg:ofs or lets you write to the
- byte at seg:ofs.
-
- Example:
- X = MemW(40,5) ;reads memory into X
- MemW(40,5) = X ;writes X into memory
-
- Category: Memory
-
- MenuKeyBuffer
- MenuKeyBuffer
- MenuKeyBuffer
- This is an internal MarxMenu variable. It is where the environment
- variable KSV= is read. Characters in this string variable are treated as
- if someone had typed them from the keyboard.
-
- This variable can be set to blank in order to override the effects of
- SET KSV= or can be set to a different value in order to automatically
- make selections as if they were typed in.
-
- See Also: SavePosition, KeySave
-
- Category: Keyboard
-
- Mid (string,pos,count) : String
- Mid (string,pos,count) : String
- Mid (string,pos,count) : String
- Returns a string starting at pos for count.
-
- Example:
- Mid('ABCDEFG',2,3) returns 'CDE'
-
- Category: String
-
- Min (Num,Num) : Num
- Min (Num,Num) : Num
- Min (Num,Num) : Num
- Returns the smallest of two numbers or strings.
-
- Category: Math, String, Float
-
- MinorDosVersion : Number
- MinorDosVersion : Number
- MinorDosVersion : Number
- Returns the minor DOS version number.
-
- See Also: DosVersion, DosVersionString
-
- Category: System
-
- Minute : Number
- Minute : Number
- Minute : Number
- Returns the current minute.
-
- Category: Time
-
-
-
- Computer Tyme MarxMenu Users Manual Page 87
- _______________________________________________________________
-
-
- MinuteOf (Date) : Number
- MinuteOf (Date) : Number
- MinuteOf (Date) : Number
- Returns the minute of a date. If Date is passed as a string it is
- converted automatically.
-
- See Also: TimeOf, BadDate
-
- Category: Time
-
- Mod : Operator
- Mod : Operator
- Mod : Operator
- Returns the remainder of the division of two numbers.
-
- Category: Math
-
- ModifyPath
- ModifyPath
- ModifyPath
- The MarxMenu directory should be in the search path. This is because if
- you change directories, MarxMenu may not be able to find the menu files.
- MarxMenu will now test the PATH= environment variable before it writes
- the batch file to execute a program. If the MarxMenu path is not
- included, MarxMenu will add the path to the Master Environment if it
- can.
-
- If for some reason you don't want to allow MarxMenu to modify the master
- environment, use the command:
-
- ModifyPath Off
-
- Category: Environment
-
- Mon : Number
- Mon : Number
- Mon : Number
- Monday, Returns the number 1.
-
- Category: Time
-
- Mono : Number
- Mono : Number
- Mono : Number
- Returns the number 7. Relates to the DOS Mode MONO command.
-
- Category: Video
-
- Month : Number
- Month : Number
- Month : Number
- Returns current month.
-
- Category: Time
-
- MonthOf (Date) : Number
- MonthOf (Date) : Number
- MonthOf (Date) : Number
- Returns the month of a date. If Date is passed as a string it is
- converted automatically.
-
- See Also: TimeOf, BadDate
-
- Category: Time
-
-
-
- Computer Tyme MarxMenu Users Manual Page 88
- _______________________________________________________________
-
-
- Mouse
- Mouse
- Mouse
- MarxMenu normally uses the mouse if present. If you don't want to use
- the mouse you can use the command:
-
- Mouse Off
-
- To turn the mouse back on type:
-
- Mouse On
-
- The mouse is actually switched on and off at the point when MarxMenu
- waits at the keyboard for a keypress.
-
- Mouse Sensitivity can be set for individual workstations on a network by
- setting environment variables MouseX and MouseY as follows:
-
- Set MouseX=15
- Set MouseY=25
-
- See Also: MouseHorizontal, MouseVertical
-
- Category: MouseControl
-
- MouseHorizontal (Number)
- MouseHorizontal (Number)
- MouseHorizontal (Number)
- Controls the horizontal sensitivity of the mouse. The larger the number,
- the less sensitive the mouse. Default is 25.
-
- See Also: MouseVertical, Mouse
-
- Category: MouseControl
-
- MouseVertical (Number)
- MouseVertical (Number)
- MouseVertical (Number)
- Controls the vertical sensitivity of the mouse. The larger the number,
- the less sensitive the mouse. Default is 15.
-
- See Also: MouseHorizontal, Mouse
-
- Category: MouseControl
-
- MoveWindow (Horizontal,Vertical)
- MoveWindow (Horizontal,Vertical)
- MoveWindow (Horizontal,Vertical)
- Moves top window. If (Horizontal) is negative motion is left. If
- <Vertical> is negative, motion is up.
-
- Example:
- MoveWindow -3 4 ;moves window 3 spaces left and 4 down
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 89
- _______________________________________________________________
-
-
- MxCmd : String
- MxCmd : String
- MxCmd : String
- This is an internal string variable that it written to the environment
- variable MXCMD. This variable can be written to control what MarxMenu
- will write to the Shell Environment. If this variable is written to, it
- overrides anything that MarxMenu automatically writes.
-
- Example:
- OnKey 'A'
- |MxCmd = 'SHUTDOWN.BAT'
- |ExitMenu
-
- Category: Environment, String, Execution
-
- NamePart (String) : String
- NamePart (String) : String
- NamePart (String) : String
- Returns the name part of a file name.
-
- Example:
- NamePart ('C:\MARX\MARXMENU.EXE') ;returns MARXMENU
-
- See Also: Extension, PathPart, FilePart
-
- Category: String
-
- NetworkVersion : Boolean
- NetworkVersion : Boolean
- NetworkVersion : Boolean
- Returns true if you are running the network version of MarxMenu.
-
- Category: Misc
-
- NextWord (String) : String
- NextWord (String) : String
- NextWord (String) : String
- This command returns the next logical word of a string variable and
- removes the string from the original string.
-
- Example:
- StringA = 'one two three'
- StringB = NextWord(StringA)
-
- StringB contains 'one'
- StringA contains 'two three'
-
- Category: String
-
- No : Boolean
- No : Boolean
- No : Boolean
- Returns the boolean false.
-
- Category: Boolean
-
-
-
- Computer Tyme MarxMenu Users Manual Page 90
- _______________________________________________________________
-
-
- NoBoxBorder
- NoBoxBorder
- NoBoxBorder
- Use this command if you don't want a border around the menus.
-
- See Also: SingleLineBox, DoubleLineBox, BlockBox, CustomBox
-
- Category: Display
-
- NoExit
- NoExit
- NoExit
- Prevents ESC key from allowing you to exit menu. To exit, you must
- execute the ExitMenu command. This could be password protected.
-
- See Also: ExitMenu
-
- Category: Execution
-
- Not : Operator
- Not : Operator
- Not : Operator
- Returns logical Not if operators are boolean; or bitwise Not if
- operators are numeric.
-
- Category: Math, Boolean
-
- NotesLeft : Num
- NotesLeft : Num
- NotesLeft : Num
- NotesLeft returns the number of notes left in the music buffer to play.
- The music buffer is self adjusting and can store days worth of music.
-
- Category: Music
-
- NotesPlayed : Num
- NotesPlayed : Num
- NotesPlayed : Num
- Returns the number of notes played. If NotesLeft ever reaches 0,
- NotesPlayed also is set to 0.
-
- Category: Music
-
- Nov : Number
- Nov : Number
- Nov : Number
- November, Returns the number 11.
-
- Category: Time
-
- NovAccountExpDate (UserName) : Date
- NovAccountExpDate (UserName) : Date
- NovAccountExpDate (UserName) : Date
- Returns the Novell account expiration date. You must be logged in to be
- able to read this.
-
- Example:
- DaysToExpire = NovAccountExpDate(UserName) - Today / SecondsInDay
-
- Category: Novell, Time
-
-
-
- Computer Tyme MarxMenu Users Manual Page 91
- _______________________________________________________________
-
-
- NovAttach (Server)
- NovAttach (Server)
- NovAttach (Server)
- NovAttach is used to create a software link between you and a server,
- usually a second server. It must be followed by a NovLogin command to
- log you into the server.
-
- See Also: NovDetach
-
- Category: Novell
-
- NovChangePassword (OldPassword,NewPassword)
- NovChangePassword (OldPassword,NewPassword)
- NovChangePassword (OldPassword,NewPassword)
- Changes the novell users password from OldPassword to NewPassword.
-
- Category: Novell
-
- NovCloseSemaphore (Name)
- NovCloseSemaphore (Name)
- NovCloseSemaphore (Name)
- This closes semaphore Name. If there are no other users using this
- semaphore, it is deleted.
-
- Category: Novell
-
- NovConnection : Number
- NovConnection : Number
- NovConnection : Number
- This returns the logical connection number to the network. A zero
- indicates that you are not connected.
-
- Category: Novell
-
- NovConsoleOperator : Boolean
- NovConsoleOperator : Boolean
- NovConsoleOperator : Boolean
- This returns true if the user has Console Operator priviledges. This can
- come in handy when you are trying to determine who gets access to the
- command line.
-
- Category: Novell
-
- NovDefaultServer : String
- NovDefaultServer : String
- NovDefaultServer : String
- Returns the name of the default file server.
-
- Category: Novell
-
- NovDetach (Server)
- NovDetach (Server)
- NovDetach (Server)
- This is used to drop the connection to a server.
-
- See Also: NovAttach
-
- Category: Novell
-
- NovGroupsMembers (Group,Array)
- NovGroupsMembers (Group,Array)
- NovGroupsMembers (Group,Array)
- This reads all the members of Group and puts them into an array.
-
- Category: Novell, Array
-
-
-
- Computer Tyme MarxMenu Users Manual Page 92
- _______________________________________________________________
-
-
- NovGroups (Array)
- NovGroups (Array)
- NovGroups (Array)
- Fills array with list of all groups.
-
- See Also: NovUsersLoggedIn, NovUsers, NovPrintQueues, NovServers
-
- Category: Novell
-
- NovInGroup (Group) : Boolean
- NovInGroup (Group) : Boolean
- NovInGroup (Group) : Boolean
- Return true if you are in the group.
-
- Category: Novell
-
- NovLogin (Name,Password)
- NovLogin (Name,Password)
- NovLogin (Name,Password)
- This logs you into a file server. It is different than the Novell's
- login program in that it doesn't execute any login scripts. It merely
- gets you in. You can include the preferred server with the name.
-
- Example:
- NovLogin ('MARC','PASSWORD')
-
- The variable NovResult is set to 0 if sucessful.
-
- Note: If you are using Netware 3.0 or 3.1 you will have to go to the
- server console and type:
-
- SET ALLOW UNENCRYPTED PASSWORDS = ON
-
- Category: Novell
-
- NovLoginName (Connection) : String
- NovLoginName (Connection) : String
- NovLoginName (Connection) : String
- This returns the login name of the user at any specified connection.
- This can also be used to see who else is on the network.
-
- Category: Novell
-
- NovLogout
- NovLogout
- NovLogout
- This logs you off the server. Warning! Make sure that you are running
- MarxMenu from a local drive and not the server you are logging out of.
- MarxMenu needs access to overlays within MARXMENU.EXE and a Logout can
- cut off access. This command automatically runs FixPath.
-
- See Also: FixPath, Logoff, LogoffTime
-
- Category: Novell
-
-
-
- Computer Tyme MarxMenu Users Manual Page 93
- _______________________________________________________________
-
-
- NovMapDrive (Drive,Directory)
- NovMapDrive (Drive,Directory)
- NovMapDrive (Drive,Directory)
- This will map a drive letter to a directory like the Novell MAP
- command does. You may specify volume names and server names.
-
- Example:
- NovMapDrive ('J','TYME2/SYS:PUBLIC\DOS')
-
- Mapping a drive to a nul string ('') deletes the drive map.
-
- Category: Novell
-
- NovMyLoginName : String
- NovMyLoginName : String
- NovMyLoginName : String
- This returns the login name of the user.
-
- Category: Novell
-
- NovMyPassword (Password) : Boolean
- NovMyPassword (Password) : Boolean
- NovMyPassword (Password) : Boolean
- Novell won't let you read the password, but it will let you guess and
- tell you if you're right. This routine returns true if the password
- passed is the correct password.
-
- Category: Novell
-
- NovOpenSemaphore (Name,Value)
- NovOpenSemaphore (Name,Value)
- NovOpenSemaphore (Name,Value)
- This opens semaphore Name and assigns it an initial value. If the
- semaphore already exists, it does nothing.
-
- Category: Novell
-
- NovPasswordExpDate (UserName) : Date
- NovPasswordExpDate (UserName) : Date
- NovPasswordExpDate (UserName) : Date
- Returns the Novell password expiration date. You must be logged in to be
- able to read this.
-
- Example:
- DaysToExpire = NovPasswordExpDate(UserName) - Today / SecondsInDay
-
- Category: Novell, Time
-
- NovPreferredServer : String
- NovPreferredServer : String
- NovPreferredServer : String
- Returns the name of the preferred file server. This is set with the
- NovSetPreferredServer command.
-
- Category: Novell
-
- NovPrimaryServer : String
- NovPrimaryServer : String
- NovPrimaryServer : String
- Returns the name of the primary file server. This is the one you first
- logged into.
-
- Category: Novell
-
-
-
- Computer Tyme MarxMenu Users Manual Page 94
- _______________________________________________________________
-
-
- NovPrintQueues (Array)
- NovPrintQueues (Array)
- NovPrintQueues (Array)
- Fills array with list of all print Queues.
-
- See Also: NovUsersLoggedIn, NovUsers, NovGroups, NovServers
-
- Category: Novell, Array, Printer
-
- NovReadGroups (Name,Array)
- NovReadGroups (Name,Array)
- NovReadGroups (Name,Array)
- This reads all the groups that Name belongs to and puts them into an
- array.
-
- Category: Novell, Array
-
- NovReadSecurityEquals (Name,Array)
- NovReadSecurityEquals (Name,Array)
- NovReadSecurityEquals (Name,Array)
- This reads all the security equivalences that Name belongs to and puts
- them into an array. (This includes groups).
-
- Category: Novell, Array
-
- NovResult : Number
- NovResult : Number
- NovResult : Number
- NovResult is a variable like FileResult that returns the success status
- of the previous Novell system call. A zero generally indicates success.
-
- Category: Novell
-
- NovSemaphoreTimeOut
- NovSemaphoreTimeOut
- NovSemaphoreTimeOut
- This variable controls the amount of time (in 1/18 seconds) that
- MarxMenu will wait for the value of a semaphore to become not negative.
- The initial value is 50.
-
- Category: Novell
-
- NovSemaphoreUsers (Name) : Number
- NovSemaphoreUsers (Name) : Number
- NovSemaphoreUsers (Name) : Number
- This returns the number of users that have the semaphore open.
-
- Category: Novell
-
- NovSemaphoreValue (Name) : Number
- NovSemaphoreValue (Name) : Number
- NovSemaphoreValue (Name) : Number
- This returns the value of a semaphore.
-
- Category: Novell
-
- NovServers (Array)
- NovServers (Array)
- NovServers (Array)
- This command returns a string array of the file servers you are
- connected to.
-
- Category: Novell, Array
-
-
-
- Computer Tyme MarxMenu Users Manual Page 95
- _______________________________________________________________
-
-
- NovScanProperties (Array, Object, ObjectType)
- NovScanProperties (Array, Object, ObjectType)
- NovScanProperties (Array, Object, ObjectType)
- NovScanProperties reads the properties (not the values) into an array.
- You also have to pass the object type.
-
- Novell Object Types:
- 1 - User
- 2 - Group
- 3 - Print Queue
- 4 - File Server
- 5 - Job Server
- 6 - Gateway
- 7 - Print Server
-
- Example:
- var Properties
- NovScanProperties (Properties,NovMyLoginName,1)
-
- Loop NumberOfElements(Properties)
- Writeln(Properties[LoopIndex])
- EndLoop
-
-
- Category: Novell, Array
-
- NovSetPreferredServer (Server)
- NovSetPreferredServer (Server)
- NovSetPreferredServer (Server)
- Sets the preferred file server. Passing a '' will switch you back to the
- default or primary file server.
-
- See Also: NovSetPrimaryServer
-
- Category: Novell
-
- NovSetPrimaryServer (Server)
- NovSetPrimaryServer (Server)
- NovSetPrimaryServer (Server)
- The primary file server is the one that execures your login scripts. It
- can also be set using the NovSetPrimaryServer command.
-
- See Also: NovSetPreferredServer
-
- Category: Novell
-
- NovSignalSemaphore (Name)
- NovSignalSemaphore (Name)
- NovSignalSemaphore (Name)
- This increments the value of a semaphore. It is used to indicate that
- you are done with a resource and makes it available for the next user.
-
- Category: Novell
-
-
-
- Computer Tyme MarxMenu Users Manual Page 96
- _______________________________________________________________
-
-
- NovStationAddress (Connection) : String
- NovStationAddress (Connection) : String
- NovStationAddress (Connection) : String
- This returns the stations internetwork address at connection.
-
- Example:
- NovStationAddress (NovConnection)
- Returns the address of the users workstation.
-
- NovStationAddress (1)
- Returns the address of station 1.
-
- 254:41 where 254 is the network number and 41 is the node number.
-
- Category: Novell
-
- NovUserInGroup (Name,Group) : Boolean
- NovUserInGroup (Name,Group) : Boolean
- NovUserInGroup (Name,Group) : Boolean
- This is used to test if other users are in a group. Returns true is the
- specified user is in the specified group.
-
- Category: Novell
-
- NovUsers (Array)
- NovUsers (Array)
- NovUsers (Array)
- Fills array with list of all users.
-
- See Also: NovUsersLoggedIn, NovGroups, NovPrintQueues, NovServers
-
- Category: Novell, Array
-
- NovUsersLoggedIn (Array)
- NovUsersLoggedIn (Array)
- NovUsersLoggedIn (Array)
- Fills array with list of all users that are currently logged in.
-
- See Also: NovUsers, NovGroups, NovPrintQueues, NovServers
-
- Category: Novell, Array
-
- NovWaitOnSemaphore (Name) : Boolean
- NovWaitOnSemaphore (Name) : Boolean
- NovWaitOnSemaphore (Name) : Boolean
- This decrements the value of a semaphore and if the value is zero or
- more, returns true. If the value of the semaphore is negative, it
- returns false. This is used to indicate that you are out of whatever you
- are testing for.
-
- Category: Novell
-
- NumberOfElememts (array) : Number
- NumberOfElememts (array) : Number
- NumberOfElememts (array) : Number
- This function returns the number of elements in the array.
-
- Category: Array
-
-
-
- Computer Tyme MarxMenu Users Manual Page 97
- _______________________________________________________________
-
-
- Now : Date
- Now : Date
- Now : Date
- Returns the current moment as a date.
-
- Category: Time
-
- NumLock : Boolean
- NumLock : Boolean
- NumLock : Boolean
- Returns true if Num Lock is on. This command can also set the Num Lock
- on and off.
-
- Example:
- if NumLock then Write 'NumLock is On'
-
- NumLock On ;Turns NumLock On
- NumLock Off ;Turns NumLock Off
-
- NumLock (by itself) turns NumLock On.
-
- See Also: CapsLock, ScrollLock
-
- Category: System
-
- Oct : Number
- Oct : Number
- Oct : Number
- October, Returns the number 10.
-
- Category: Time
-
- Off : Boolean
- Off : Boolean
- Off : Boolean
- Returns False.
-
- Category: Boolean
-
- On : Boolean
- On : Boolean
- On : Boolean
- Returns True.
-
- Category: Boolean
-
-
-
- Computer Tyme MarxMenu Users Manual Page 98
- _______________________________________________________________
-
-
- OnKey (char)
- OnKey (char)
- OnKey (char)
- When char is selected, the line(s) following are executed up to the next
- OnKey or end of file. This means that they are written to a BATCH file.
-
- Example:
- Onkey 'W'
- cd\wordstar
- ws
- cd\menu
-
- In the above example if 'W' is selected, MarxMenu will create a
- temporary batch file containing all the lines under the OnKey command.
- All the lines under an OnKey are written literally to the batch file
- with few exceptions. All leading and trailing blanks are stripped.
- String variables are evaluated and their value passed if the name of the
- string variable starts with a '%'.
-
- If a line begins with a '|' (vertical bar), the line is interpreted
- rather than written to a batch file. If a '^Label' is used under an
- OnKey, a jump is made to the 'Label' and interpretation is resumed. This
- is commonly used to jump to a submenu.
-
- Any OnKey statement that causes a batch file to be written to will cause
- the menu to exit. MarxMenu normally will exit with ErrorLevel 0 unless
- an ExitCode is set.
-
- The first blank line under an OnKey ends what that OnKey command does.
-
- Category: Conditional
-
- OnScreenOnly (On/Off)
- OnScreenOnly (On/Off)
- OnScreenOnly (On/Off)
- This allows you to restrict selections to only what is actually on the
- screen. Hidden OnKey commands will not execute if this is set on. This
- allows you to limit user selection to the choices on the screen.
-
- See Also: OnKey
-
- Category: Conditional
-
-
-
- Computer Tyme MarxMenu Users Manual Page 99
- _______________________________________________________________
-
-
- OpenPrinter
- OpenPrinter
- OpenPrinter
- This command opens the printer device. It is not necessary to use this
- command in that it is done automatically whenever you print. But, if you
- are running under a multitasking shell like Windows, it will reserve the
- printer for your task.
-
- If the printer is locked, or if you have specified a file name that
- can't be created, the variable FileResult will contain the DOS error
- code (usually 5 for access denied). A FileResult of 0 indicates success.
-
- See Also: ClosePrinter, FileResult
-
- Category: Printer
-
- OptionSwitch (String1,String2) : Boolean
- OptionSwitch (String1,String2) : Boolean
- OptionSwitch (String1,String2) : Boolean
- This command tests if String1 contains the option switch String2. If it
- does, it will remove the switch from String1.
-
- Example:
- String1 = 'Test /A/B/C'
- HasB = OptionSwitch(String1,'B')
-
- HasB will be true.
- String1 will contain 'Test /A/C'
-
- Category: String
-
- Or : Operator
- Or : Operator
- Or : Operator
- Returns logical Or if operators are boolean; or bitwise Or if operators
- are numeric.
-
- Category: Math, Boolean
-
- Ord (Char) : Number
- Ord (Char) : Number
- Ord (Char) : Number
- Returns the numeric value of an ascii character.
-
- Category: String
-
- OverKey : String
- OverKey : String
- OverKey : String
- When using UseArrows, OverKey returns the character that selects the
- item that the inverse bar is over.
-
- This can be used with IdelProgram to display context sensitive help as
- you move the inverse bar over different selections.
-
- Category: String
-
-
-
- Computer Tyme MarxMenu Users Manual Page 100
- _______________________________________________________________
-
-
- OverLay (MenuName)
- OverLay (MenuName)
- OverLay (MenuName)
- Overlay loads another menu as if that menu were a procedure of the
- current menu. After the overlaid menu exits, control is returned to the
- calling menu at the next line after the overlay command.
-
- Like the Chain command, Overlay is very fast and doesn't require
- MarxMenu to be reloaded.
-
- Example:
- Overlay 'SUBMENU'
-
- When using overlays, all variables declared as shared are accessable to
- the main program and all overlays. The shared variables have to be the
- same for all overlays.
-
- See Also: Shared, Chain
-
- Category: Execution
-
- ParallelPorts : Number
- ParallelPorts : Number
- ParallelPorts : Number
- Returns number of parallel ports.
-
- Category: System
-
- ParamStr (Num) : String
- ParamStr (Num) : String
- ParamStr (Num) : String
- Returns the DOS parameter string from the command line. The 0 parameter
- is MARXMENU.EXE. The 1 parameter is the name of the menu file you are
- using. This is like the %1 %2 %3 ... in batch file parameters.
-
- Category: String
-
- ParentEnvironment
- ParentEnvironment
- ParentEnvironment
- ParentEnvironment selects the parent environment for use with
- environment access commands.
-
- See Also: ReadEnv SetEnv ReadEnvironment ShellEnvironment
- See Also: CurrentEnvironment MasterEnvironment
-
- Category: Environment
-
-
-
- Computer Tyme MarxMenu Users Manual Page 101
- _______________________________________________________________
-
-
- Password (Pswd,column,row)
- Password (Pswd,column,row)
- Password (Pswd,column,row)
- This command opens up a password box at row and column. The user must
- type the password correctly before the command will execute. The
- password is case sensitive.
-
- Example:
- OnKey 'X'
- |PassWord('shell',4,3)
- COMMAND.COM
-
- Category: Conditional
-
- Path : String
- Path : String
- Path : String
- Returns the current path.
-
- Category: String
-
- PathPart (String) : String
- PathPart (String) : String
- PathPart (String) : String
- Returns the path part of a file name.
-
- Example:
- PathPart ('C:\MARX\MARXMENU.EXE') ;returns C:\MARX
-
- See Also: Extension, NamePart, FilePart
-
- Category: String
-
- PauseAfterExecute (On/Off)
- PauseAfterExecute (On/Off)
- PauseAfterExecute (On/Off)
- If on, this command causes the message "Press any key to return to
- MarxMenu..." to appear after an execute command is executed.
-
- See Also: Execute:
-
- Category: Execution
-
- Pi : Real
- Pi : Real
- Pi : Real
- Returns the value of Pi to 18 digits.
-
- Category: Math, Float
-
-
-
- Computer Tyme MarxMenu Users Manual Page 102
- _______________________________________________________________
-
-
- PickFile (FileSpec,column,row,height) : String
- PickFile (FileSpec,column,row,height) : String
- PickFile (FileSpec,column,row,height) : String
- Allows you to display a directory of files on the screen from a menu.
- Normally used to display a list of files for the user to choose from.
- Could be used in a command to load a word processor or database. Allows
- selection of the file to be loaded by the word processor or database
- program. The filename can be passed to a percent variable placed in the
- batch file executing the application. See example files on MarxMenu
- distribution disk.
-
- Example: %FileName = PickFile('C:\WORDSTAR\*.DOC',3,4,17)
-
- Notice: The use of a variable with a name that starts with a '%' allows
- the choice to be passed to a batch file for execution.
-
- The three numbers represent the column and row of the upper left corner
- of the box and the height of the box. All DrawBox commands can be used
- here to control the looks of the PickFile window. This includes the
- BoxHeader command.
-
- Category: String
-
- PickMany(SourceArray,DestinationArray)
- PickMany(SourceArray,DestinationArray)
- PickMany(SourceArray,DestinationArray)
- PickMany displays a string array in the current window and allows you to
- choose as many lines as you want. The chosen lines go into
- DestinationArray.
-
- When the window appears, the space bar toggles the marked status of the
- line. The right arrow sets the marked status and the left arrow resets
- the marked status. Ctrl-Right-Arrow marks all lines, Ctrl-Left-Arrow
- unmarks all lines. The return key accepts the selection and exits. The
- ESC key aborts.
-
- If using a mouse, the left button toggles the mark on the current line.
- The right button accepts and exits.
-
- If no selections are made, the DestinationArray is empty. If ESC is
- pressed, the DestinationArray is left unchanged. You can test LastKey to
- see what was pressed.
-
- Category: String, Array
-
- PickOne (Array) : String
- PickOne (Array) : String
- PickOne (Array) : String
- This command displays an array in the current window and lets you pick a
- line and returns the chosen line.
-
- Category: String, Array
-
-
-
- Computer Tyme MarxMenu Users Manual Page 103
- _______________________________________________________________
-
-
- PickPosition : Number
- PickPosition : Number
- PickPosition : Number
- The variable PickPosition works with the PickOne command. PickPosition
- returns the number of which element in the array was picked.
-
- Category: String, Array
-
- Port (number) : Number
- Port (number) : Number
- Port (number) : Number
- Returns the value at the port or writes a number to a port.
-
- Example:
- X = Port(20) ;Reads port 20 into X
- Port(20 = X ;Writes X to Port 20
-
- Category: Memory
-
- Pos (substring,string) : Number
- Pos (substring,string) : Number
- Pos (substring,string) : Number
- Finds position of substring in string. If substring isn't found, Pos
- returns 0.
-
- Example:
- pos('CD','ABCDE') returns 2
-
- Category: String
-
- Power (Real,Real) : Real
- Power (Real,Real) : Real
- Power (Real,Real) : Real
- Raises a real to a given power.
-
- Category: Math, Float
-
- Pred (number) : Number
- Pred (number) : Number
- Pred (number) : Number
- Returns number minus 1.
-
- Category: Math
-
- Print (string)
- Print (string)
- Print (string)
- Prints string to the printer with no CR or LF. If there is an error
- printing, the error is returned in FileResult.
-
- Category: Printer
-
- PrinterName (string)
- PrinterName (string)
- PrinterName (string)
- Sets the file name for the printer to use. The default name is PRN.
- Other common printer names include: LPT1, LPT2, LPT3, and AUX. You can
- also use filenames to direct printer output to a file.
-
- See Also: ClosePrinter
-
- Category: Printer
-
-
-
- Computer Tyme MarxMenu Users Manual Page 104
- _______________________________________________________________
-
-
- Println (String)
- Println (String)
- Println (String)
- Prints string to the printer with CR and LF.
-
- See Also: Print
-
- Category: Printer
-
- PrintScreen (On/Off)
- PrintScreen (On/Off)
- PrintScreen (On/Off)
- Turns the print screen function on and off. Turning the print screen off
- disables the print screen key. This can be used to prevent a computer
- from locking up when the user kits the Print Screen key with no printer
- attached.
-
- Category: Printer
-
- Procedure (name)
- Procedure (name)
- Procedure (name)
- This word begins the definition of a newly named procedure. A procedure
- is like a subroutine. Once the procedure is defined, all you have to do
- to call the procedure is use its name. The procedure definition is
- terminated by the command EndProc.
-
- Example:
-
- Procedure SelectFile
- BoxHeaderColor ForeColor BackColor
- BoxBorderColor Cyan Mag
- BoxInsideColor Yellow Mag
- InverseColor Yellow Red
- %ExecSt = PickFile FileType 4 5 17
- EndProc
-
- Whenever we use the word SelectFile in the menu, all the lines of the
- procedure SelectFile will execute.
-
- See Also: EndProc, Return
-
- Category: Misc
-
- PullMenu (on/off)
- PullMenu (on/off)
- PullMenu (on/off)
- Controls the behavior of pull down menus. Set to on if using
- them. Default is Off.
-
- Category: Display
-
- Qualifier
- Qualifier
- Qualifier
- Used to create qualifiers.
-
- See Also: Var, Constant, Shared
-
- Category: Variable
-
-
-
- Computer Tyme MarxMenu Users Manual Page 105
- _______________________________________________________________
-
-
- Random : Number
- Random : Number
- Random : Number
- The Random command returns random numbers between 0 and +2,147,483,647.
- (2^31). The algorithm has been checked for good uniformity and takes
- advantage of re-seeding itself from random events like the timer
- interrupt and keyboard input.
-
- Category: Math
-
- ReadEnv (string) : String
- ReadEnv (string) : String
- ReadEnv (string) : String
- Returns the environment string specified.
-
- Example: PathString = ReadEnv('PATH')
-
- See Also: SetEnv ReadEnvironment ShellEnvironment
- See Also: CurrentEnvironment ParentEnvironment MasterEnvironment
-
- Category: Environment
-
- ReadEnvironment (array)
- ReadEnvironment (array)
- ReadEnvironment (array)
- Reads all environment variables into an array.
-
- Example:
- Var Env
- ReadEnvironment( Env )
- ;Env[1] will be the first environment string and
- ;Env[NumberOfElememts(Env)] will be the last. A variable that is
- ;set is LongestLine. LongestLine contains the length of the
- ;longest string variable read.
- Writeln( 'Your current environment variables are:' )
- Loop( NumberOfElements( Env ) )
- Writeln( Env[LoopIndex] )
- EndLoop
- Writeln
- Writeln('Your Environment Size is :',Str(EnvSize))
- Writeln('You are using :',Str(EnvSize-EnvFree),' bytes.')
- Writeln('You have :,'Str(EnvFree),' bytes free.')
-
- See Also: SetEnv ReadEnv ShellEnvironment
- See Also: CurrentEnvironment ParentEnvironment MasterEnvironment
-
- Category: Environment, Array
-
-
-
- Computer Tyme MarxMenu Users Manual Page 106
- _______________________________________________________________
-
-
- ReadKey : String
- ReadKey : String
- ReadKey : String
- Returns the character that is input from the keyboard.
-
- Example:
- Var Key
-
- Repeat
- Writeln( 'Press the <ESC> key to exit this program.' )
- Key = ReadKey
- Until Key = Esc
-
- Category: Keyboard
-
- Readln : String
- Readln : String
- Readln : String
- Reads a string from the keyboard.
-
- Example:
- Customer.Name = Readln
- Customer.Number = Value (Readln) ;Converts to an numerical value
- Customer.State = UpperCase (ReadLn)
-
- Category: Keyboard, String
-
- ReadTextFile (FileName,Array)
- ReadTextFile (FileName,Array)
- ReadTextFile (FileName,Array)
- This command reads a text file into a string array. It also sets the
- variable LongestLine to the length of the longest line in the file.
-
- Example:
- Var Docs
-
- ReadTextFile('MARXMENU.DOC',Docs)
- ;After the read, Docs[1] becomes the first line of the file.
- ;Docs[NumberOfElements(Docs)] becomes the last line.
- Loop NumberOfElements(Docs)
- ; Convert each line to its uppercase equivalent
- Docs[LoopIndex] = UpperCase Docs[LoopIndex]
- EndLoop
- ;Save the newly formatted array
- WriteTextFile ('NEWMM.DOC',Docs)
-
- Do not use FileOpen with ReadTextFile.
-
- The power of the ReadTextFile and WriteTextFile have expanded. You can
- now load and save arrays of any variable types, multidimensional arrays,
- and mixed array types. This includes strings, numbers, and booleans.
- File variables are also stored. When a file variable is stored and
- reloaded the FileAssign command is not necessary.
-
- Category: File, Array
-
-
-
- Computer Tyme MarxMenu Users Manual Page 107
- _______________________________________________________________
-
-
- Real (Integer) : Real
- Real (Integer) : Real
- Real (Integer) : Real
- Returns the real equivalent of an integer.
-
- Category: Math, Float
-
- Reboot
- Reboot
- Reboot
- Causes the computer to do a warm reboot.
-
- Category: Execution
-
- Red : Number
- Red : Number
- Red : Number
- Returns the number 4.
-
- Category: Color
-
- ReleaseDate : String
- ReleaseDate : String
- ReleaseDate : String
- Returns the MarxMenu Release Date.
-
- Category: String
-
- Repeat
- Repeat
- Repeat
- Used for program control. Usage:
-
- REPEAT
- (statement)
- (statement)
- UNTIL (condition)
-
- Example:
- Var Key
-
- Repeat
- Key = ReadKey
- If Key = 'A'
- Bat( 'DOLIST.EXE' )
- ExitMenu
- EndIf
- If Key = F1 Then Help
- Until Key = Esc
-
- Category: Conditional
-
-
-
- Computer Tyme MarxMenu Users Manual Page 108
- _______________________________________________________________
-
-
- ResizeWindow (Horizontal Vertical)
- ResizeWindow (Horizontal Vertical)
- ResizeWindow (Horizontal Vertical)
- Changes the size of the top window. The horizontal and vertical numbers
- are added to the current size. Use negative numbers to shrink the
- window. The top left corner stays in the same place.
-
- Example:
- DrawBox 15 5 30 15
- ResizeWindow 15 5
-
- See Also: MoveWindow
-
- Category: Display
-
- Return (param,param,...)
- Return (param,param,...)
- Return (param,param,...)
- Exits a procedure and optionally returns parameters to the calling
- procedure. It can return as many parameters as you want as long as the
- calling program uses the same number of parameters. Otherwise, you will
- get an "Invalid number of parameters" error.
-
- Example:
-
- Procedure SmallRandomNumber
- {Returns a random number between 1 and 100}
- var SmallRand
- SmallRand = Random mod 100
- Return (SmallRand + 1)
- EndProc
-
- See Also: Procedure, EndProc
-
- Category: Misc
-
- ReturnCode : Number
- ReturnCode : Number
- ReturnCode : Number
- When you use the Execute function, a ReturnCode value is fed into this
- variable when you return to the menu. The code returned is the same as
- what the DOS ErrorLevel would be. This will not work if you use the
- UseCommand On function because COMMAND.COM would have been loaded and
- the returncode would be lost.
-
- Category: Execution
-
- Right (string,count) : String
- Right (string,count) : String
- Right (string,count) : String
- Returns right characters of string for length count.
-
- Example: Right('ABCDEF',3) returns 'DEF'
-
- Category: String
-
-
-
- Computer Tyme MarxMenu Users Manual Page 109
- _______________________________________________________________
-
-
- RollWindow (number)
- RollWindow (number)
- RollWindow (number)
- Windows can be looked at as a stack. RollWindow will roll a previous
- window to the top of the stack making the previous window the current
- window.
-
- Example:
- ;Make the Third window on the stack the active window
- RollWindow 3
- ;Write out message
- Writeln 'You have mail waiting!'
- ;Now put the windows back
- PushBackWindow (3)
-
- Procedure PushBackWindow (N)
-
- ;Will roll a window back to its original position on the stack
- ;The parameter should be the same as the parameter for the call
- ;to RollWindow. If you use RollWindow(3) then use PushBackWindow(3)
-
- Loop N
- RollWindow N
- EndLoop
- EndProc ;PushBackWindow
-
- See Also: CurrentWindow, SetTopWindow
-
- Category: Display
-
- Run variable (parameters)
- Run variable (parameters)
- Run variable (parameters)
- This runs a procedure that was stored in a variable.
-
- var Y
-
- Procedure WriteSquared (X)
- Writeln (X * X)
- EndProc
-
- Example:
- Y = Loc(WriteSquared)
- Run Y(3) ; This will write a 9 on the screen
-
- Warning! Don't put the variable you are running in parentheses.
-
- Run (Y,3) ; this won't work
-
- See Also: Loc
-
- Category: Misc
-
-
-
- Computer Tyme MarxMenu Users Manual Page 110
- _______________________________________________________________
-
-
- Sat : Number
- Sat : Number
- Sat : Number
- Saturday, Returns the number 6.
-
- Category: Time
-
- SavePosition (On/Off)
- SavePosition (On/Off)
- SavePosition (On/Off)
- If SavePosition is On, MarxMenu will return to the last menu selection
- you made when MarxMenu is re-entered. As you select menu layers your
- keystrokes are stored in an internal string variable called KeySave. On
- exit, MarxMenu writes KeySave to an environment variable KSV. On return
- to MarxMenu, this variable is retrieved. The return point may be altered
- by using the command KeySave = (string).
-
- Another thing this points out is that environment variables can be used
- to store information and allow MarxMenu to remember things from one
- selection to another. Since MarxMenu doesn't stay memory resident, this
- is the only way I have found to store information.
-
- Category: Keyboard, Environment
-
- ScreenHeight : Number
- ScreenHeight : Number
- ScreenHeight : Number
- Returns number of rows of character on your screen.
-
- Category: Display
-
- ScreenWidth : Number
- ScreenWidth : Number
- ScreenWidth : Number
- Returns number of columns of character on your screen.
-
- Category: Display
-
- ScrollLock : Boolean
- ScrollLock : Boolean
- ScrollLock : Boolean
- Returns true if Scroll Lock is on. This command can also set the Scroll
- Lock on and off.
-
- Example:
- if ScrollLock then Write 'ScrollLock is On'
-
- ScrollLock On ;Turns ScrollLock On
- ScrollLock Off ;Turns ScrollLock Off
-
- ScrollLock (by itself) turns ScrollLock On.
-
- See Also: CapsLock, NumLock
-
- Category: System
-
-
-
- Computer Tyme MarxMenu Users Manual Page 111
- _______________________________________________________________
-
-
- ScrollMove (On/Off)
- ScrollMove (On/Off)
- ScrollMove (On/Off)
- This allows you to control whether or not the ScrollLock will allow you
- to move the top window. Default is On.
-
- Category: Display
-
- Second : Number
- Second : Number
- Second : Number
- Returns the current second.
-
- Category: Time
-
- SecondOf (Date) : Number
- SecondOf (Date) : Number
- SecondOf (Date) : Number
- Returns the second of a date. If Date is passed as a string it is
- converted automatically.
-
- See Also: TimeOf, BadDate
-
- Category: Time
-
- SecondsInDay : number
- SecondsInDay : number
- SecondsInDay : number
- Returns 86400
-
- Category: Time
-
- SecondsInHour : Number
- SecondsInHour : Number
- SecondsInHour : Number
- Returns 3600
-
- Category: Time
-
- Security (on/off)
- Security (on/off)
- Security (on/off)
- When security is on, Readln echos '*' instead of the letters that are
- being typed. This is used for such things as entering passwords other
- than using the password command.
-
- Category: String
-
- SelectPath : String
- SelectPath : String
- SelectPath : String
- This command uses another program in the Computer Tyme DOS TOOLBOX
- called Pick Directory to read a text into a variable. You must have
- Computer Tyme Pick Directory for this feature to work.
-
- Example:
- OnKey 'B'
- |%BackPath = SelectPath
- cd %BackPath
- backup c: a:
-
- Category: String
-
-
-
- Computer Tyme MarxMenu Users Manual Page 112
- _______________________________________________________________
-
-
- Sep : Number
- Sep : Number
- Sep : Number
- September, Returns the number 9.
-
- Category: Time
-
- SerialPorts : Number
- SerialPorts : Number
- SerialPorts : Number
- Returns number of serial ports.
-
- Category: System
-
- SetArraySize (Array,Size)
- SetArraySize (Array,Size)
- SetArraySize (Array,Size)
- If the array is larger than Size the array is truncated. If it is
- smaller, memory is allocated for the array.
-
- Category: Array
-
- SetEnv (String)
- SetEnv (String)
- SetEnv (String)
- This is used to set environment strings. It can be used on the Current,
- Parent, Master or Shell environment.
-
- Example:
-
- SetEnv ('PATH=C:\')
- SetEnv ('COMSPEC=X:COMMAND.COM')
-
- MarxMenu also allows you to select which environment you are working
- with. This is done with the following commands.
-
- CurrentEnvironment
- ParentEnvironment
- MasterEnvironment
- ShellEnvironment
-
- See Also: ReadEnv ReadEnvironment ShellEnvironment
- See Also: CurrentEnvironment ParentEnvironment MasterEnvironment
-
- Category: Environment
-
-
-
- Computer Tyme MarxMenu Users Manual Page 113
- _______________________________________________________________
-
-
- SetTopWindow (Number)
- SetTopWindow (Number)
- SetTopWindow (Number)
- Selects a window by number making it the current window and moves it to
- the top.
-
- Example:
- DrawBox ....
- ThisWindow = CurrentWindow
- DrawBox ....
- DrawBox ....
- SetTopWindow (ThisWindow)
-
- See Also: CurrentWindow, RollWindow, SetWindowUnder
-
- Category: Display
-
- SetWindowUnder (Window1,Window2)
- SetWindowUnder (Window1,Window2)
- SetWindowUnder (Window1,Window2)
- This command moves Window1 underneath Window2. This can be used to put a
- window back in the stack after you use SetTopWindow.
-
- See Also: CurrentWindow, SetTopWindow, RollWindow
-
- Category: Display
-
- Shadow (on/off)
- Shadow (on/off)
- Shadow (on/off)
- Turn window shadows on/off.
-
- Category: Display
-
- ShadowColor (ForeColor,BackColor)
- ShadowColor (ForeColor,BackColor)
- ShadowColor (ForeColor,BackColor)
- Sets the color of the shadow. There are actually two shadow colors.
- MarxMenu stores different values for big shadows and small shadows.
-
- See Also: BigShadow, SmallShadow, ShadowPosition, Shadow
-
- Category: Color
-
- ShadowPosition (number)
- ShadowPosition (number)
- ShadowPosition (number)
- Selects the shadow position around the window. A zero (default) sets the
- shadow position to the bottom right side. A one sets the shadow position
- to the bottom left. Using ShadowPosition turns shadowing on so a Shadow
- On command is not required.
-
- See Also: Shadow, ShadowColor, BigShadow, SmallShadow
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 114
- _______________________________________________________________
-
-
- Shared
- Shared
- Shared
- The key word SHARED can be used to define variables just like VAR. Any
- variable defined with SHARED is passed globally to and from overlays.
-
- The important thing is that the Shared variables must be defined exactly
- the same way between the overlays. There is also a pre-defined variable
- called COMMON. Technically, Shared variables are qualifiers off of
- COMMON.
-
- See Also: Var, Constant, Qualifier
-
- Category: Variable
-
- ShellEnvironment
- ShellEnvironment
- ShellEnvironment
- ShellEnvironment selects the environment of the last COMMAND.COM in
- memory for use with environment access commands. This is usually the
- same as the Master Environment.
-
- More than one COMMAND.COM is loaded when you are running a shell under
- WINDOWS or DESQVIEW. When using these programs, you will want to access
- the Shell Envoronment instead of the Master Environment. The Shell
- Environment is the one that will run batch files.
-
- See Also: ReadEnv SetEnv ReadEnvironment MasterEnvironment
- See Also: CurrentEnvironment ParentEnvironment
-
- Category: Environment
-
- Shl : Operator
- Shl : Operator
- Shl : Operator
- Shift left, does a binary 32 bit shift left.
-
- Category: Math
-
- Shr : Operator
- Shr : Operator
- Shr : Operator
- Shift right, does a binary 32 bit shift right.
-
- Category: Math
-
- Sin (Radians) : Real
- Sin (Radians) : Real
- Sin (Radians) : Real
- Returns the Sine of a real.
-
- Category: Math, Float
-
- SingleLineBox
- SingleLineBox
- SingleLineBox
- Selects single line box for menu borders.
-
- See Also: DoubleLineBox, BlockBox, CustomBox, NoBoxBorder
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 115
- _______________________________________________________________
-
-
- SmallShadow
- SmallShadow
- SmallShadow
- Selects small shadow type.
-
- See Also: BigShadow, ShadowPosition, ShadowColor
-
- Category: Display
-
- SortArray (Array)
- SortArray (Array)
- SortArray (Array)
- SortArray will do an alphabetical sort on an array of strings.
-
- Example: Sort a Text File
-
- Usage: DIR|MARXMENU SORT|MORE
- MARXMENU SORT INFILE OUTFILE
-
- var SortBuf
- ClearScreenOnExit Off
- ReadTextFile (ParamStr(2),SortBuf)
- SortArray(SortBuf)
- WriteTextFile (ParamStr(3),SortBuf)
-
- Category: Array
-
- Sound (on/off)
- Sound (on/off)
- Sound (on/off)
- Turn sound effects on/off.
-
- Category: Display
-
- Sqr (Real) : Real
- Sqr (Real) : Real
- Sqr (Real) : Real
- Returns the Square Root of a real.
-
- Category: Math, Float
-
- StandardIO
- StandardIO
- StandardIO
- This tells MarxMenu to use standard Input and Output file handles for
- reading the keyboard and writing to the screen.
-
- Category: Display
-
- Str (number) : String
- Str (number) : String
- Str (number) : String
- Turns a number into a string.
-
- Category: String
-
-
-
- Computer Tyme MarxMenu Users Manual Page 116
- _______________________________________________________________
-
-
- StuffAKey (String or Number)
- StuffAKey (String or Number)
- StuffAKey (String or Number)
- Stuffs a single key into the DOS keyboard buffer when MarxMenu exits.
- The limit is 16 characters.
-
- Example:
- StuffAKey($3F00) ;stuff the F5 key
- StuffAKey F5 ;same thing
-
- Do not mix StuffAKey with StuffKBD. Use one or the other.
-
- Category: Execution, Keyboard, String
-
- StuffKBD (String)
- StuffKBD (String)
- StuffKBD (String)
- Stuffs the string into the DOS keyboard buffer when MarxMenu exits. The
- limit is 16 characters.
-
- Example:
- StuffKBD 'LOGOUT' + CR
-
- Category: Execution, Keyboard, String
-
- StuffKeyboardNow
- StuffKeyboardNow
- StuffKeyboardNow
- Normally the keyboard stuffing is done as MarxMenu quits. This forces
- the keyboard to be stuffed immediately.
-
- Category: Keyboard
-
- Succ (number) : Number
- Succ (number) : Number
- Succ (number) : Number
- Returns number plus 1.
-
- Category: Math
-
- Suggest (Char)
- Suggest (Char)
- Suggest (Char)
- Normally the UseArrows command will start in the upper left hand corner.
- By using the Suggest command, you can set it to start on any menu
- selection.
-
- Example:
- Suggest 'E'
-
- Category: Display
-
- Sun : Number
- Sun : Number
- Sun : Number
- Sunday, Returns the number 0.
-
- Category: Time
-
- TextBackground (color)
- TextBackground (color)
- TextBackground (color)
- Sets text background color.
-
- Category: Color
-
-
-
- Computer Tyme MarxMenu Users Manual Page 117
- _______________________________________________________________
-
-
- TextColor (forecolor,backcolor)
- TextColor (forecolor,backcolor)
- TextColor (forecolor,backcolor)
- Sets the color of text to be displayed on the screen. TextColor resets
- the value of CapsColor.
-
- Category: Color
-
- TextMode (num)
- TextMode (num)
- TextMode (num)
- Sets the video text mode.
-
- 0 = 40 column BW
- 1 = 40 column COLOR
- 2 = 80 column BW
- 3 = 80 column COLOR
- 258 = 43/50 line EGA BW
- 259 = 43/50 line EGA COLOR
-
- Example:
- TextMode BW80
-
- Category: Video
-
- TextPos : Number
- TextPos : Number
- TextPos : Number
- TextPos returns the current position in a text file. This can be saved
- so that you can go to the same place using TextSeek.
-
- See Also: TextSeek
-
- Category: File
-
- TextSeek (Number)
- TextSeek (Number)
- TextSeek (Number)
- TextSeek moves to a specific byte in a text file.
-
- See Also: TextPos
-
- Category: File
-
- Then
- Then
- Then
- Conditional control.
-
- See Also: If
-
- Category: Conditional
-
- Thu : Number
- Thu : Number
- Thu : Number
- Thursday, Returns the number 4.
-
- Category: Time
-
-
-
- Computer Tyme MarxMenu Users Manual Page 118
- _______________________________________________________________
-
-
- TimeOf (String) : Number
- TimeOf (String) : Number
- TimeOf (String) : Number
- Converts a string representing a date to a date number.
-
- Examples:
- '4-7-91' ;04-07-1991 00:00:00
- 'April 7th, 1991 4:35pm' ;04-07-1991 16:35:00
- '12:35:23a' ;04-07-1991 00:35:23
- '3:15' ;04-07-1991 03:15:00
-
- If the string can't be converted, then BadDate is set to true.
-
- Category: Time
-
- Timer : Number
- Timer : Number
- Timer : Number
- Returns the system timer.
-
- Category: Time
-
- TimeString : String
- TimeString : String
- TimeString : String
- Returns the time in HH:MM:SS format. 24 hour.
-
- Category: String, Time
-
- Today : Date
- Today : Date
- Today : Date
- Returns the current day as a date. The date returned has the time set to
- midnight or 00:00:00.
-
- Category: Time
-
- Tone (Frequency,Duration)
- Tone (Frequency,Duration)
- Tone (Frequency,Duration)
- This command plays a note at Frequency cycles per second for a period of
- Duration 1/18 of a second. The reason it is in 1/18 seconds is because
- there is a standard interrupt that gives me that time period. The IBM
- series computers are not music oriented machines so don't throw away
- your Compact Disk player.
-
- The maximum duration is 255 1/18 of a second. Normally, MarxMenu will
- create a break in between notes equal to 1/8 of the duration of the
- note. If you want to eliminate the break and create a 'slur' (music
- term), add 256 to the duration. This tells MarxMenu to connect the notes
- without a break.
-
- Category: Music
-
-
-
- Computer Tyme MarxMenu Users Manual Page 119
- _______________________________________________________________
-
-
- TotalDiskSpace <drive> : Number
- TotalDiskSpace <drive> : Number
- TotalDiskSpace <drive> : Number
- Returns total disk space in bytes.
-
- Example:
- Writeln (TotalDiskSpace 'C')
-
- TotalDiskSpace only looks at the first character of the string for
- the drive letter.
-
- Category: System
-
- TotalEMS : Number
- TotalEMS : Number
- TotalEMS : Number
- Returns total EMS memory in bytes.
-
- Category: Memory
-
- Trim (string)
- Trim (string)
- Trim (string)
- Trims white space from both ends of a string. White space is
- blank characters and lower.
-
- Category: String
-
- True : Boolean
- True : Boolean
- True : Boolean
- Returns boolean true.
-
- Category: Boolean
-
- Tue : Number
- Tue : Number
- Tue : Number
- Tuesday, Returns the number 2.
-
- Category: Time
-
- UniqueFileName : String
- UniqueFileName : String
- UniqueFileName : String
- Uses the create new file call to get a filename that is different than
- any other file name. It is tied to the DOS call that is used to create a
- unique file name according to the rules of your operating system.
-
- Category: File, String
-
- Until
- Until
- Until
- Conditional control.
-
- See Also: Repeat.
-
- Category: Conditional
-
- UpperCase (String) : String
- UpperCase (String) : String
- UpperCase (String) : String
- Return UpperCase of String
-
- Category: String
-
-
-
- Computer Tyme MarxMenu Users Manual Page 120
- _______________________________________________________________
-
-
- UpperCaseOnly : Boolean
- UpperCaseOnly : Boolean
- UpperCaseOnly : Boolean
- Setting UpperCaseOnly to on forces text entered with Readln or ReadKey
- to upper case.
-
- Category: String
-
- UseArrows
- UseArrows
- UseArrows
- UseArrows tells MarxMenu that the selection will be made by moving an
- inverse video bar over the selections. No parameters are required for
- this command to work. It will pick the first line with a capital letter
- as the first menu selection. All text in the window must be indented at
- least one space and there must be one space between the end of the line
- and the right wall of the window. Multiple items on the same line must
- be separated by two or more spaces.
-
- The OnKey selection is triggered by either the first capital letter in
- the selection or by a number from 0 - 9 or some punctuation characters.
- This number or letter will be a different color if you use the CapsColor
- command. (See Also: PULL.MNU for an example).
-
- UseArrows Off will disable this feature.
-
- See Also: ReadKey
-
- Category: Display
-
- UseCommand (on/off)
- UseCommand (on/off)
- UseCommand (on/off)
- Used with Execute. UseCommand will load COMMAND.COM before running the
- specified program. Its not as fast, because the system has to find and
- load COMMAND.COM, then the specified program. The advantage is if
- COMMAND.COM is loaded, it will allow you to run batch files and internal
- DOS commands. It also doesn't require you to specify the COM or EXE
- extension.
-
- Example:
- OnKey 'D'
- |UseCommand On
- |Execute 'DM'
-
- The default is OFF.
-
- See Also: Execute
-
- Category: Execution
-
-
-
- Computer Tyme MarxMenu Users Manual Page 121
- _______________________________________________________________
-
-
- UsedDiskSpace <drive> : Number
- UsedDiskSpace <drive> : Number
- UsedDiskSpace <drive> : Number
- Returns used disk space in bytes.
-
- Example:
- Writeln (UsedDiskSpace 'C')
-
- UsedDiskSpace only looks at the first character of the string for the
- dirve letter.
-
- Category: System
-
- UseNovPassword : Boolean
- UseNovPassword : Boolean
- UseNovPassword : Boolean
- If UseNovPassword is set to true then the screen blanker will require
- that the user type his Novell password to unblank the screen. Full
- Novell security and intruder detection is active here. If Novell's
- intruder detection is active, then if an intruder fails to type in the
- password after a number of attempts, then Netware will not accept the
- correct password until intruder detection allows it.
-
- If you don't know what intruder detection is, read the Netware manuals
- on the subject. It is something you should use.
-
- Category: Novell
-
- Value (string) : Number
- Value (string) : Number
- Value (string) : Number
- Converts String to Number. Leading $ indicates Hex.
-
- Category: String, Math
-
- Var
- Var
- Var
- Used to create variables.
-
- See Also: Constant, Shared, Qualifier
-
- Category: Variable
-
- VideoMode : Number
- VideoMode : Number
- VideoMode : Number
- Returns Current Video Mode.
-
- Category: Video
-
- VideoPage : Number
- VideoPage : Number
- VideoPage : Number
- Returns Current Video Page.
-
- Category: Video
-
-
-
- Computer Tyme MarxMenu Users Manual Page 122
- _______________________________________________________________
-
-
- ViewArray (Array)
- ViewArray (Array)
- ViewArray (Array)
- Allows you to view an array of strings in the current window. Works just
- like ViewTextFile.
-
- See Also: ViewTextFile
-
- Category: Display, Array
-
- ViewTextFile (Name)
- ViewTextFile (Name)
- ViewTextFile (Name)
- This command lets you view a text file in the current window.
-
- See Also: ViewArrayFile
-
- Category: Display, File
-
- Volume (drive)
- Volume (drive)
- Volume (drive)
- Returns the volume label of the specified drive.
-
- Category: System
-
- Wait (number)
- Wait (number)
- Wait (number)
- Delay for a number of 1/100 seconds. Wait 250 delays 2 1/2 seconds.
-
- If you are running a multi-tasker like Windows 3 or DesqView, and the
- delay is over 1/4 second, MarxMenu will release time slices back to DOS
- and not bog down the CPU power on long waits. MarxMenu also releases CPU
- cycles while idel at the keyboard.
-
- See Also: WaitOrKbdReady
-
- Category: Misc
-
- WaitOrKbdReady (Number)
- WaitOrKbdReady (Number)
- WaitOrKbdReady (Number)
- This command is just like the WAIT command except the wait is aborted by
- pressing any key. Time to wait is in hundredths of a second. This
- command is useful when using MarxMenu to write a running demo.
-
- See Also: Wait
-
- Category: Keyboard
-
- Wed : Number
- Wed : Number
- Wed : Number
- Wednesday, Returns the number 3.
-
- Category: Time
-
- WhereX : Number
- WhereX : Number
- WhereX : Number
- Returns the horizontal position of the cursor within the current window.
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 123
- _______________________________________________________________
-
-
- WhereXAbs : Number
- WhereXAbs : Number
- WhereXAbs : Number
- Returns the horizontal screen position of the cursor.
-
- Category: Display
-
- WhereY : Number
- WhereY : Number
- WhereY : Number
- Returns the vertical position of the cursor within the current window.
-
- WhereYAbs : Number
- WhereYAbs : Number
- WhereYAbs : Number
- Returns the vertical screen position of the cursor.
-
- Category: Display
-
- While
- While
- While
- Used for program control. Usage:
-
- WHILE (condition)
- (statement)
- (statement)
- ENDWHILE
-
- Execution stays in the while loop as long as the condition is true.
-
- See Also: EndWhile
-
- Category: Conditional
-
- White : Number
- White : Number
- White : Number
- Returns the number 15.
-
- Category: Color
-
- WindowHeight : Number
- WindowHeight : Number
- WindowHeight : Number
- Returns number of rows in current window.
-
- Category: Display
-
- WindowWidth : Number
- WindowWidth : Number
- WindowWidth : Number
- Returns number of columns in current window.
-
- Category: Display
-
- Write (string)
- Write (string)
- Write (string)
- Writes (string) on the screen at the current cursor position.
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 124
- _______________________________________________________________
-
-
- WriteCenter (string)
- WriteCenter (string)
- WriteCenter (string)
- Writes (string) centered in current window.
-
- Category: Display
-
- Writeln (string)
- Writeln (string)
- Writeln (string)
- Writes (string) on the screen followed by a CR-LF (carriage
- return-line feed).
-
- Category: Display
-
- WriteTextFile (FileName,Array)
- WriteTextFile (FileName,Array)
- WriteTextFile (FileName,Array)
- This command writes a string array to a text file. Do not use FileCreate
- of any other file commands with this. This command does it all.
-
- See Also: ReadTextFile
-
- Category: File, Array
-
- WriteVertical (string)
- WriteVertical (string)
- WriteVertical (string)
- Writes (string) vertically on the screen from the current cursor
- position.
-
- Example:
- WriteVertical( 'Hello' )
-
- ;This would display
- H
- e
- l
- l
- o
-
- Category: Display
-
- Xor : Operator
- Xor : Operator
- Xor : Operator
- Returns logical Xor if operators are boolean; or bitwise Xor if
- operators are numeric.
-
- Category: Math, Boolean
-
- Year : Number
- Year : Number
- Year : Number
- Returns current Year.
-
- Category: Time
-
-
-
- Computer Tyme MarxMenu Users Manual Page 125
- _______________________________________________________________
-
-
- YearOf (Date) : Number
- YearOf (Date) : Number
- YearOf (Date) : Number
- Returns the year of a date. If Date is passed as a string it is
- converted automatically.
-
- See Also: TimeOf, BadDate
-
- Category: Time
-
- Yellow : Number
- Yellow : Number
- Yellow : Number
- Returns the number 14.
-
- Category: Color
-
- Yes : Boolean
- Yes : Boolean
- Yes : Boolean
- Returns True.
-
- STRING AND CHARACTER CONSTANTS
- STRING AND CHARACTER CONSTANTS
- STRING AND CHARACTER CONSTANTS
-
- BKSP = #8
- CR = #13
- CRLF = #13#10
- ESC = #27
- FF = #12
- LF = #10
-
- F1 = #0#59
- F2 = #0#60
- F3 = #0#61
- F4 = #0#62
- F5 = #0#63
- F6 = #0#64
- F7 = #0#65
- F8 = #0#66
- F9 = #0#67
- F10 = #0#68
- F11 = #0#133
- F12 = #0#134
-
- SF1 = #0#84
- SF2 = #0#85
- SF3 = #0#86
- SF4 = #0#87
- SF5 = #0#88
- SF6 = #0#89
- SF7 = #0#90
- SF8 = #0#91
- SF9 = #0#92
- SF10 = #0#93
- SF11 = #0#135
- SF12 = #0#136
-
-
-
- Computer Tyme MarxMenu Users Manual Page 126
- _______________________________________________________________
-
-
- CF1 = #0#94
- CF2 = #0#95
- CF3 = #0#96
- CF4 = #0#97
- CF5 = #0#98
- CF6 = #0#99
- CF7 = #0#100
- CF8 = #0#101
- CF9 = #0#102
- CF10 = #0#103
- CF11 = #0#137
- CF12 = #0#138
-
- AF1 = #0#104
- AF2 = #0#105
- AF3 = #0#106
- AF4 = #0#107
- AF5 = #0#108
- AF6 = #0#109
- AF7 = #0#110
- AF8 = #0#111
- AF9 = #0#112
- AF10 = #0#113
- AF11 = #0#139
- AF12 = #0#140
-
- ALT1 = #0#120
- ALT2 = #0#121
- ALT3 = #0#122
- ALT4 = #0#123
- ALT5 = #0#124
- ALT6 = #0#125
- ALT7 = #0#126
- ALT8 = #0#127
- ALT9 = #0#128
- ALT0 = #0#129
-
-
-
- Computer Tyme MarxMenu Users Manual Page 127
- _______________________________________________________________
-
-
- CONDITIONAL STATEMENTS
- CONDITIONAL STATEMENTS
- CONDITIONAL STATEMENTS
-
- MarxMenu has a full complement of conditional statements. They are as
- follows:
-
- IF->ELSE->ENDIF Where, IF [condition]
- statement
- statement
- ELSE
- statement
- statement
- ENDIF
-
- IF->THEN Where, IF [condition] THEN statement
-
- REPEAT->UNTIL Where, REPEAT
- statement
- statement
- UNTIL [condition]
-
- WHILE->ENDWHILE Where, WHILE [conditon]
- statement
- statement
- ENDWHILE
-
-
- PROCEDURE->ENDPROC PROCEDURE (name)
- statement
- statement
- ENDPROC
-
-
- LOOP->ENDLOOP LOOP (number)
- statement
- statement
- ENDLOOP
-
-
-
- Computer Tyme MarxMenu Users Manual Page 128
- _______________________________________________________________
-
-
- ENVIRONMENT VARIABLES USED BY MARXMENU
- ENVIRONMENT VARIABLES USED BY MARXMENU
- ENVIRONMENT VARIABLES USED BY MARXMENU
-
- MarxMenu uses a variety of environment variables to control various
- MarxMenu functions. Many of these variables are optional.
-
- Set MouseX=(Number)
-
- Sets the horizontal sensitivity of the mouse. Default is 15.
-
- Set MouseY=(Number)
-
- Sets the vertical sensitivity of the mouse. Default is 25.
-
- Set MxEcho=(On/Off)
-
- If you set the first line of MARX.BAT to @ECHO %MXECHO% then by setting
- the environment variable MxEcho to ON or OFF, you can control the echo
- in the MARX.BAT file without having to edit it. This allows you to do
- diagnostics on a network without messing up other users.
-
- Set Temp=(Directory)
-
- Normally, MarxMenu creates temporary batch files in the same directory
- as MARXMENU.EXE. If you set TEMP to a directory, MarxMenu will use this
- directory instead. This complies with Windows / DOS 5.0 standards.
-
- Set MxCmd=(Command)
-
- MarxMenu uses MXCMD to control what the MARX.BAT file executes. You must
- have enough environment space available for MarxMenu to use.
-
- Set KSV=
-
- MarxMenu stores a series of keystrokes in the KSV variable when
- SavePosition is On.
-
- Set STATION=(Number)
-
- If you are on a network that is not Novell, then you should set this
- variable to a unique number for each station between 0 and 255.
-
- Set TASK=(Number)
-
- If you are running a multi-tasking operating system other than DesqView,
- and MarxMenu is running more than one task, then set an environment
- variable TASK to a unique number for each task.
-
- MarxMenu also accesses your COMSPEC variable and your PATH variable when
- executing programs.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 129
- _______________________________________________________________
-
-
- COMMAND CATEGORIES
- COMMAND CATEGORIES
- COMMAND CATEGORIES
-
- Here is a breakdown of MarxMenu commands by command category. Many
- MarxMenu commands are in several categories. These are the same
- categories as in the MarxHelp utility.
-
- MISC COMMANDS
- MISC COMMANDS
- MISC COMMANDS
-
- | | (Vertical Bar)
- ( ( : Operator
- ) ) : Operator
- Alias Alias
- Comment Comment
- EndComment EndComment
- EndProc EndProc
- Include Include (MenuName)
- Loc Loc (Procedure)
- NetworkVersion NetworkVersion : Boolean
- Procedure Procedure (name)
- Return Return (param,param,...)
- Run Run variable (parameters)
- Wait Wait (number)
-
- MATH COMMANDS
- MATH COMMANDS
- MATH COMMANDS
-
- * * : Operator
- + + : Operator
- - - : Operator
- / / : Operator
- < < : Operator
- <= <= : Operator
- <> <> : Operator
- = = : Operator
- > > : Operator
- >= >= : Operator
- Abs Abs : Number
- And And : Operator
- ArcTan ArcTan (Radians) : Real
- Cos Cos (Radians) : Real
- Exp Exp (Real) : Real
- Fraction Fraction (Real) : Real
- Int Int (Real) : Real
- Integer Integer (Real) : Number
- Ln Ln (Real) : Real
- Max Max (Num,Num) : Num
- Min Min (Num,Num) : Num
- Mod Mod : Operator
- Not Not : Operator
- Or Or : Operator
- Pi Pi : Real
- Power Power (Real,Real) : Real
- Pred Pred (number) : Number
-
-
-
- Computer Tyme MarxMenu Users Manual Page 130
- _______________________________________________________________
-
-
- Random Random : Number
- Real Real (Integer) : Real
- Shl Shl : Operator
- Shr Shr : Operator
- Sin Sin (Radians) : Real
- Sqr Sqr (Real) : Real
- Succ Succ (number) : Number
- Value Value (string) : Number
- Xor Xor : Operator
-
- FLOAT COMMANDS
- FLOAT COMMANDS
- FLOAT COMMANDS
-
- * * : Operator
- + + : Operator
- - - : Operator
- / / : Operator
- < < : Operator
- <= <= : Operator
- <> <> : Operator
- = = : Operator
- > > : Operator
- >= >= : Operator
- Abs Abs : Number
- ArcTan ArcTan (Radians) : Real
- Cos Cos (Radians) : Real
- Exp Exp (Real) : Real
- Fraction Fraction (Real) : Real
- Int Int (Real) : Real
- Integer Integer (Real) : Number
- Ln Ln (Real) : Real
- Max Max (Num,Num) : Num
- Min Min (Num,Num) : Num
- Pi Pi : Real
- Power Power (Real,Real) : Real
- Real Real (Integer) : Real
- Sin Sin (Radians) : Real
- Sqr Sqr (Real) : Real
-
-
-
- Computer Tyme MarxMenu Users Manual Page 131
- _______________________________________________________________
-
-
- STRING COMMANDS
- STRING COMMANDS
- STRING COMMANDS
-
- + + : Operator
- < < : Operator
- <= <= : Operator
- <> <> : Operator
- = = : Operator
- > > : Operator
- >= >= : Operator
- %MenuFileName %MenuFileName : String
- BatFileName BatFileName : String
- BlankMessage BlankMessage (string)
- Char Char (number) : String
- CleanFileName CleanFileName (string) : String
- CmdLine CmdLine : String
- DateString DateString : String
- Delete Delete (string,pos,count)
- DosVersionString DosVersionString : String
- Extension Extension (String) : String
- FilePart FilePart (String) : String
- ForceExtension ForceExtension (String,Ext) : String
- InputString InputString (String)
- Insert Insert (InsString,OrigString,Pos)
- KeySave KeySave : String
- LastKey LastKey : String
- Left Left (string,count) : String
- Length Length (string) : Number
- MarxVersion MarxVersion : String
- Max Max (Num,Num) : Num
- Mid Mid (string,pos,count) : String
- Min Min (Num,Num) : Num
- MxCmd MxCmd : String
- NamePart NamePart (String) : String
- NextWord NextWord (String) : String
- OptionSwitch OptionSwitch (String1,String2) : Boolean
- Ord Ord (Char) : Number
- OverKey OverKey : String
- ParamStr ParamStr (Num) : String
- Path Path : String
- PathPart PathPart (String) : String
- PickFile PickFile (FileSpec,column,row,height) : String
- PickMany PickMany(SourceArray,DestinationArray)
- PickOne PickOne (Array) : String
- PickPosition PickPosition : Number
- Pos Pos (substring,string) : Number
- Readln Readln : String
- ReleaseDate ReleaseDate : String
- Right Right (string,count) : String
- Security Security (on/off)
- SelectPath SelectPath : String
- Str Str (number) : String
- StuffAKey StuffAKey (String or Number)
-
-
-
- Computer Tyme MarxMenu Users Manual Page 132
- _______________________________________________________________
-
-
- StuffKBD StuffKBD (String)
- TimeString TimeString : String
- Trim Trim (string)
- UniqueFileName UniqueFileName : String
- UpperCase UpperCase (String) : String
- UpperCaseOnly UpperCaseOnly : Boolean
- Value Value (string) : Number
-
- BOOLEAN COMMANDS
- BOOLEAN COMMANDS
- BOOLEAN COMMANDS
-
- And And : Operator
- False False : Boolean
- No No : Boolean
- Not Not : Operator
- Off Off : Boolean
- On On : Boolean
- Or Or : Operator
- True True : Boolean
- Xor Xor : Operator
-
- MEMORY COMMANDS
- MEMORY COMMANDS
- MEMORY COMMANDS
-
- ApplicationMemory ApplicationMemory : Number
- Dispose Dispose (Variable)
- FreeEms FreeEMS : Number
- FreeMemory FreeMemory : Number
- Mem Mem (seg,ofs) : Number
- MemL MemL (seg,ofs) : Number
- MemSize MemSize : Number
- MemW MemW (seg,ofs) : Number
- Port Port (number) : Number
- TotalEms TotalEMS : Number
-
-
-
- Computer Tyme MarxMenu Users Manual Page 133
- _______________________________________________________________
-
-
- TIME COMMANDS
- TIME COMMANDS
- TIME COMMANDS
-
- Apr Apr : Number
- Aug Aug : Number
- BadDate BadDate : Boolean
- DateString DateString : String
- Day Day : Number
- DayOf DayOf (Date) : Number
- DayOfWeek DayOfWeek : Number
- DayOfWeekOf DayOfWeekOf (Date) : Number
- Dec Dec : Number
- Feb Feb : Number
- Fri Fri : Number
- Hour Hour : Number
- HourOf HourOf (Date) : Number
- Hundredth Hundredth : Number
- Jan Jan : Number
- Jul Jul : Number
- Jun Jun : Number
- Mar Mar : Number
- May May : Number
- Minute Minute : Number
- MinuteOf MinuteOf (Date) : Number
- Mon Mon : Number
- Month Month : Number
- MonthOf MonthOf (Date) : Number
- Nov Nov : Number
- NovAccountExpDate NovAccountExpDate (UserName) : Date
- NovPasswordExpDate NovPasswordExpDate (UserName) : Date
- Now Now : Date
- Oct Oct : Number
- Sat Sat : Number
- Second Second : Number
- SecondOf SecondOf (Date) : Number
- SecondInDay SecondsInDay : number
- SecondInHour SecondsInHour : Number
- Sep Sep : Number
- Sun Sun : Number
- Thu Thu : Number
- TimeOf TimeOf (String) : Number
- Timer Timer : Number
- TimeString TimeString : String
- Today Today : Date
- Tue Tue : Number
- Wed Wed : Number
- Year Year : Number
- YearOf YearOf (Date) : Number
-
-
-
- Computer Tyme MarxMenu Users Manual Page 134
- _______________________________________________________________
-
-
- EXECUTION COMMANDS
- EXECUTION COMMANDS
- EXECUTION COMMANDS
-
- Bat Bat (string)
- Chain Chain (MenuName)
- ClearScreenFirst ClearScreenFirst (on/off)
- DosWindow DosWindow (on/off)
- Execute Execute (command string)
- ExitCode ExitCode
- ExitMenu ExitMenu
- IdelProgram IdelProgram : Procedure
- Jump Jump (menu)
- KeySave KeySave : String
- Logoff Logoff
- LogoffTime LogoffTime : Number
- MxCmd MxCmd : String
- NoExit NoExit
- Overlay OverLay (MenuName)
- PauseAfterExecute PauseAfterExecute (On/Off)
- Reboot Reboot
- ReturnCode ReturnCode : Number
- StuffAKey StuffAKey (String or Number)
- StuffKBD StuffKBD (String)
- UseCommand UseCommand (on/off)
-
- DISPLAY COMMANDS
- DISPLAY COMMANDS
- DISPLAY COMMANDS
-
- BigShadow BigShadow
- Blanked Blanked : Boolean
- BlankTime BlankTime (minutes)
- BlockBox BlockBox
- BoxHeader BoxHeader (string)
- BoxHeaderLeft BoxHeaderLeft (string)
- BoxHeaderRight BoxHeaderRight (string)
- BoxFooter BoxFooter (string)
- BoxFooterLeft BoxFooterLeft (string)
- BoxFooterRight BoxFooterRight (string)
- ClearLine ClearLine [char]
- ClearScreen ClearScreen [char]
- ClearScreenOnExit ClearScreenOnExit (on/off)
- ClockMode ClockMode
- ClockPos ClockPos (column,row)
- Console Console (On/Off)
- ConsolePos ConsolePos (column,row)
- CurrentWindow CurrentWindow : Number
- Cursor Cursor (On/Off)
- CustomBox CustomBox (String)
- DoubleLineBox DoubleLineBox
- DrawBox DrawBox (column,row,width,height)
- EraseTopWindow EraseTopWindow
- EraseWindow EraseWindow (Number)
- Explode Explode (on/off)
- ExplodeDelay ExplodeDelay (number)
-
-
-
- Computer Tyme MarxMenu Users Manual Page 135
- _______________________________________________________________
-
-
- ForceExplosion ForceExplosion (On/Off)
- GotoXY GotoXY (column,row)
- InactiveBox InactiveBox (BoxType)
- LockWord LockWord (word)
- MoveWindow MoveWindow (Horizontal,Vertical)
- NoBoxBorder NoBoxBorder
- PullMenu PullMenu (on/off)
- ResizeWindow ResizeWindow (Horizontal Vertical)
- RollWindow RollWindow (number)
- ScreenHeight ScreenHeight : Number
- ScreenWidth ScreenWidth : Number
- ScrollMove ScrollMove (On/Off)
- SetTopWindow SetTopWindow (Number)
- SetWindowUnder SetWindowUnder (Window1,Window2)
- Shadow Shadow (on/off)
- ShadowPosition ShadowPosition (number)
- SingleLineBox SingleLineBox
- SmallShadow SmallShadow
- Sound Sound (on/off)
- StandardIO StandardIO
- Suggest Suggest (Char)
- UseArrows UseArrows
- ViewArray ViewArray (Array)
- ViewTextFile ViewTextFile (Name)
- WhereX WhereX : Number
- WhereXAbs WhereXAbs : Number
- WhereYAbs WhereYAbs : Number
- WindowHeight WindowHeight : Number
- WindowWidth WindowWidth : Number
- Write Write (string)
- WriteCenter WriteCenter (string)
- Writeln Writeln (string)
- WriteVertical WriteVertical (string)
-
-
-
- Computer Tyme MarxMenu Users Manual Page 136
- _______________________________________________________________
-
-
- COLOR COMMANDS
- COLOR COMMANDS
- COLOR COMMANDS
-
- Black Black : Number
- Blink Blink : Boolean
- Blue Blue : Number
- BoxBorderColor BoxBorderColor (forecolor,backcolor)
- BoxHeaderColor BoxHeaderColor (forecolor,backcolor)
- BoxInsideColor BoxInsideColor (forecolor,backcolor)
- Brown Brown : Number
- CapsColor CapsColor (forecolor,backcolor)
- ClockColor ClockColor (forecolor,backcolor)
- ConsoleBorderColor ConsoleBorderColor (Color,Color)
- ConsoleHeaderColor ConsoleHeaderColor (Color,Color)
- ConsoleInsideColor ConsoleInsideColor (Color,Color)
- Cyan Cyan : Number
- Green Green : Number
- Grey Grey : Number
- InactiveBoxColor InactiveBoxColor (foreground,background)
- InverseColor InverseColor (forecolor,backcolor)
- LBlue LBlue : Number
- LCyan LCyan : Number
- LGreen LGreen : Number
- LGrey LGrey : Number
- LMag LMag : Number
- LMagenta LMagenta : Number
- LRed LRed : Number
- Mag Mag : Number
- Magenta Magenta : Number
- Red Red : Number
- ShadowColor ShadowColor (ForeColor,BackColor)
- TextBackground TextBackground (color)
- TextColor TextColor (forecolor,backcolor)
- White White : Number
- Yellow Yellow : Number
-
- VIDEO COMMANDS
- VIDEO COMMANDS
- VIDEO COMMANDS
-
- BW40 BW40 : Number
- BW80 BW80 : Number
- CO40 CO40 : Number
- CO80 CO80 : Number
- ColorScreen ColorScreen : Boolean
- Mono Mono : Number
- TextMode TextMode (num)
- VideoMode VideoMode : Number
- VideoPage VideoPage : Number
-
-
-
- Computer Tyme MarxMenu Users Manual Page 137
- _______________________________________________________________
-
-
- SYSTEM COMMANDS
- SYSTEM COMMANDS
- SYSTEM COMMANDS
-
- CapsLock CapsLock : Boolean
- ClusterSize ClusterSize <drive> : Number
- DosVersion DosVersion : Number
- DosVersionString DosVersionString : String
- Drives Drives : Number
- Floppies Floppies : Number
- FreeDiskSpace FreeDiskSpace <drive> : Number
- MinorDosVersion MinorDosVersion : Number
- NumLock NumLock : Boolean
- ParallelPorts ParallelPorts : Number
- ScrollLock ScrollLock : Boolean
- SerialPorts SerialPorts : Number
- TotalDiskSpace TotalDiskSpace <drive> : Number
- UsedDiskSpace UsedDiskSpace <drive> : Number
- Volume Volume (drive)
-
- FILE COMMANDS
- FILE COMMANDS
- FILE COMMANDS
-
- ChDir ChDir (string)
- DelFile DelFile (Name)
- EndOfFile EndOfFile (FileVar) : Boolean
- ExistDir ExistDir (directory) : Boolean
- ExistFile ExistFile : Boolean
- ExistOnPath ExistOnPath (string) : String
- FileAppend FileAppend (FileVar)
- FileAssign FileAssign (FileVar,String)
- FileAttr FileAttr (string) : Number
- FileClose FileClose (FileVar)
- FileCreate FileCreate (FileVar)
- FileDate FileDate (string) : Number
- FileFlush FileFlush (FileVar)
- FileLog FileLog (FileVar,String)
- FileOpen FileOpen (FileVar)
- FilePos FilePos (FileVar) : Number
- FileReadln FileReadln (FileVar) : String
- FileRename FileRename (Old,New)
- FileResult FileResult : Number
- FileSeek FileSeek (FileVar,Number)
- FileSize FileSize (string) : Number
- FileWrite FileWrite (FileVar,String)
- FileWriteln FileWriteln (FileVar,String)
- ReadTextFile ReadTextFile (FileName,Array)
- TextPos TextPos : Number
- TextSeek TextSeek (Number)
- UniqueFileName UniqueFileName : String
- ViewTextFile ViewTextFile (Name)
- WriteTextFile WriteTextFile (FileName,Array)
-
-
-
- Computer Tyme MarxMenu Users Manual Page 138
- _______________________________________________________________
-
-
- PRINTER COMMANDS
- PRINTER COMMANDS
- PRINTER COMMANDS
-
- ClosePrinter ClosePrinter
- NovPrintQueues NovPrintQueues (Array)
- OpenPrinter OpenPrinter
- Print Print (string)
- PrinterName PrinterName (string)
- Println Println (String)
- PrintScreen PrintScreen (On/Off)
-
- ENVIRONMENT COMMANDS
- ENVIRONMENT COMMANDS
- ENVIRONMENT COMMANDS
-
- CurrentEnvironment CurrentEnvironment
- EnvFree EnvFree : Number
- EnvSize EnvSize : Number
- FixPath FixPath
- KeySave KeySave : String
- MasterEnvironment MasterEnvironment
- ModifyPath ModifyPath
- MxCmd MxCmd : String
- ParentEnvironment ParentEnvironment
- ReadEnv ReadEnv (string) : String
- ReadEnvironment ReadEnvironment (array)
- SavePosition SavePosition (On/Off)
- SetEnv SetEnv (String)
- ShellEnvironment ShellEnvironment
-
- ARRAY COMMANDS
- ARRAY COMMANDS
- ARRAY COMMANDS
-
- Delete Delete (string,pos,count)
- Dispose Dispose (Variable)
- NovGroupMembers NovGroupsMembers (Group,Array)
- NovPrintQueues NovPrintQueues (Array)
- NovReadGroups NovReadGroups (Name,Array)
- NovReadSecurityEquals NovReadSecurityEquals (Name,Array)
- NovServers NovServers (Array)
- NovScanProperties NovScanProperties (Array, Object, ObjectType)
- NovUsers NovUsers (Array)
- NovUsersLoggedIn NovUsersLoggedIn (Array)
- NumberOfElements NumberOfElememts (array) : Number
- PickMany PickMany(SourceArray,DestinationArray)
- PickOne PickOne (Array) : String
- PickPosition PickPosition : Number
- ReadEnvironment ReadEnvironment (array)
- ReadTextFile ReadTextFile (FileName,Array)
- SetArraySize SetArraySize (Array,Size)
- SortArray SortArray (Array)
- ViewArray ViewArray (Array)
- WriteTextFile WriteTextFile (FileName,Array)
-
-
-
- Computer Tyme MarxMenu Users Manual Page 139
- _______________________________________________________________
-
-
- DESQVIEW COMMANDS
- DESQVIEW COMMANDS
- DESQVIEW COMMANDS
-
- DvAppNumber DvAppNumber : Number
- DvFrame DvFrame (Handle,On/Off)
- DvFreeze DvFreeze (Handle)
- DvHide DvHide (Handle)
- DvKillTask DvKillTask (Handle)
- DvLastHandle DvLastHandle : Number
- DvLoaded DvLoaded : Boolean
- DvMoveWindow DvMoveWindow (Handle,X,Y)
- DvMyHandle DvMyHandle : Number
- DvPifExecute DvPifExecute (Pif File)
- DvResizeWindow DvResizeWindow (Handle,Width,Height)
- DvSetBottom DvSetBottom (Handle)
- DvSetTop DvSetTop (Handle)
- DvUnFreeze DvUnFreeze (Handle)
- DvUnHide DvUnHide (Handle)
-
- CONDITIONAL COMMANDS
- CONDITIONAL COMMANDS
- CONDITIONAL COMMANDS
-
- Else Else
- Endif EndIf
- EndLoop EndLoop
- EndWhile EndWhile
- If If
- Loop Loop
- LoopIndex LoopIndex
- LoopLimit LoopLimit
- OnKey OnKey (char)
- OnScreenOnly OnScreenOnly (On/Off)
- Password Password (Pswd,column,row)
- Repeat Repeat
- Then Then
- Until Until
- While While
-
- KEYBOARD COMMANDS
- KEYBOARD COMMANDS
- KEYBOARD COMMANDS
-
- InputString InputString (String)
- InsertMode InsertMode (On/Off)
- KbdReady KbdReady : Boolean
- MenuKeyBuffer MenuKeyBuffer
- ReadKey ReadKey : String
- Readln Readln : String
- SavePosition SavePosition (On/Off)
- StuffAKey StuffAKey (String or Number)
- StuffKBD StuffKBD (String)
- StuffKeyboardNow StuffKeyboardNow
- WaitOrKbdReady WaitOrKbdReady (Number)
-
-
-
- Computer Tyme MarxMenu Users Manual Page 140
- _______________________________________________________________
-
-
- MOUSECONTROL COMMANDS
- MOUSECONTROL COMMANDS
- MOUSECONTROL COMMANDS
-
- KeyFromMouse KeyFromMouse : Boolean
- Mouse Mouse
- MouseHorizontal MouseHorizontal (Number)
- MouseVertical MouseVertical (Number)
-
- MUSIC COMMANDS
- MUSIC COMMANDS
- MUSIC COMMANDS
-
- KillMusic KillMusic
- NotesLeft NotesLeft : Num
- NotesPlayed NotesPlayed : Num
- Tone Tone (Frequency,Duration)
-
- NOVELL COMMANDS
- NOVELL COMMANDS
- NOVELL COMMANDS
-
- MachineName MachineName : String
- NovAccountExpDate NovAccountExpDate (UserName) : Date
- NovAttach NovAttach (Server)
- NovChangePassword NovChangePassword (OldPassword,NewPassword)
- NovCloseSemaphore NovCloseSemaphore (Name)
- NovConnection NovConnection : Number
- NovConsoleOperator NovConsoleOperator : Boolean
- NovDefaultServer NovDefaultServer : String
- NovDetach NovDetach (Server)
- NovGroupMembers NovGroupsMembers (Group,Array)
- NovGroups NovGroups (Array)
- NovInGroup NovInGroup (Group) : Boolean
- NovLogin NovLogin (Name,Password)
- NovLoginName NovLoginName (Connection) : String
- NovLogout NovLogout
- NovMapDrive NovMapDrive (Drive,Directory)
- NovMyLoginName NovMyLoginName : String
- NovMyPassword NovMyPassword (Password) : Boolean
- NovOpenSemaphore NovOpenSemaphore (Name,Value)
- NovPasswordExpDate NovPasswordExpDate (UserName) : Date
- NovPreferredServer NovPreferredServer : String
- NovPrimaryServer NovPrimaryServer : String
- NovPrintQueues NovPrintQueues (Array)
- NovReadGroups NovReadGroups (Name,Array)
- NovReadSecurityEquals NovReadSecurityEquals (Name,Array)
- NovResult NovResult : Number
- NovSemaphoreTimeOut NovSemaphoreTimeOut
- NovSemaphoreUsers NovSemaphoreUsers (Name) : Number
- NovSemaphoreValue NovSemaphoreValue (Name) : Number
- NovServers NovServers (Array)
- NovScanProperties NovScanProperties (Array, Object, ObjectType)
- NovSetPreferredServer NovSetPreferredServer (Server)
- NovSetPrimaryServer NovSetPrimaryServer (Server)
- NovSignalSemaphore NovSignalSemaphore (Name)
- NovStationAddress NovStationAddress (Connection) : String
- NovUserInGroup NovUserInGroup (Name,Group) : Boolean
-
-
-
- Computer Tyme MarxMenu Users Manual Page 141
- _______________________________________________________________
-
-
- NovUsers NovUsers (Array)
- NovUsersLoggedIn NovUsersLoggedIn (Array)
- NovWaitOnSemaphore NovWaitOnSemaphore (Name) : Boolean
- UseNovPassword UseNovPassword : Boolean
-
- VARIABLE COMMANDS
- VARIABLE COMMANDS
- VARIABLE COMMANDS
-
- Qualifier Qualifier
- Shared Shared
- Var Var
-
-
-
- Other Computer Tyme Software:
- ======================================================
-
- The Computer Tyme Dos ToolBox... Makes DOS easier for the novice,
- more powerful for the professional.
-
- DIRECTORY MASTER is a powerful hard disk managment utility. It
- brings up your hard disk files and allows you to mark selected
- files so you can copy them, delete them, or move them. It also
- allows you to rename files, change dates, and change attributes.
- You can also run programs or set up your function keys to run
- programs on selected files.
-
- DOLIST makes being at DOS easier. It gives you full line editing,
- like a word processor, for your commands. It also stores commands
- so that you can re-execute them. It remembers subdirectories and
- allows you to go back to them by pressing the TAB key. It offers
- programmable function keys, DOS extensions, multiple execution,
- and many more features you have got to have.
-
- PICK DIRECTORY allows you to move through the directory system by
- displaying a graphic tree and letting you use your arrow keys to
- move around. It also lets you create, delete, rename, and hide
- directories.
-
- TEDIT (from SemWare) is a powerful, easy to use full screen
- editor.
-
- MARXTSR is a set of memory and TSR management utilities that let
- you load and unload TSRs (Terminate and stay resident programs)
- from memory. Utilities to list menory allocation and turn TSR's
- on and off.
-
- And many more ... Also includes is D, a fancy directory listing
- program; WHEREIS, for finding stuff on you hard disk, SORT, MOVE,
- FIND, FREE, PIPEDIR, VERSION, and many more.
-
- The Dos Toolbox sells for $59.95.
-
- ======================================================
-
- We are also selling QEdit from Semware. QEdit is a professional
- editor from Semware. TEdit is a mini version of QEdit. If you
- like TEdit, You'll love QEdit.
-
- 1-800-548-5353 Order Line
- 1-417-866-1222 Voice Line
- 1-417-866-1665 BBS Data line * 1200/2400 * 8N1 * ANSI or VT100
-
- MarxMenu comes with MarxEdit and MARXTSR manager and a few goodies out of
- the DOS ToolBox. The Network Survival Kit is a network version of almost
- every utility I've ever written. It's sold on a per fileserver basis.
-
- _______
- ____|__ | (tm)
- --| | |-------------------
- | ____|__ | Association of
- | | |_| Shareware
- |__| o | Professionals
- -----| | |---------------------
- |___|___| APPROVED VENDOR
-
- ==========================================
-
-
-
-
-
-
-
- Make Check Computer Tyme Order Form 2.26
- Payable To: 411 North Sherman Suite 300
- Springfield Mo. 65802
- (417) 866-1222 (800) 548-5353
-
- Please send me Computer Tyme Software.
-
- =============================================================
-
- Name: ________________________________________________
-
- Address: ________________________________________________
-
- City/St/Zip: ________________________________________________
-
- Phone: ________________________________________________
-
- Computer: ________________________________________________
-
- Got From: ________________________________________________
-
- Comments: ________________________________________________
-
- ________________________________________________
-
-
- Single User Version:
-
- ___ Enclosed is $59.95 for MarxMenu.
-
- ___ Enclosed is $59.95 for the DOS ToolBox.
-
- ___ Enclosed is $99.95 for MarxMenu, the Dos ToolBox and DM3.
-
-
- Network Version (1 per file server):
-
- ___ Enclosed is $495 for Network Survival Kit.
-
- ___ Add $3.00 for Shipping and Handling.
-
- ___ I need 3 1/2 Inch Media.
-
-
- Credit Card Number: _______________ Expiration Date: ________
-
- Signature: __________________________________________________
-
- Master Card __ Visa __ Discover __
-
- * We do not take American Express *
-
- =============================================================